我對,onStop
和onSaveInstanceState
中應該發生什麼感到困惑。例如,Android的文檔說 對於 -android-存儲在onPause,onStop或onSaveInstanceState中的數據
提交未保存的更改,但前提是用戶期望,當他們離開(如電子郵件草稿)將被永久保存這些變化。
對於onStop
-
你應該使用的onStop()來執行更大,更多的CPU關機操作,比如到數據庫中寫入信息。
對於onSaveInstanceState
您的活動可能有你想恢復,如跟蹤用戶在作業進展成員變量更多的狀態信息。
這不是真的,這三件事基本上是指存儲信息,如表單或電子郵件?那麼應該保存哪種方法?
自從2016年1月開始,Honeycomb(3.0)佔到Android設備的96.8%,因此''onStop()'保證會被調用。所以我更喜歡''onStop()'onPause()'來保存數據現在。 – 2016-01-06 09:11:44
@VickyChijwani從軟件工程的角度來看,_preferring_'onStop()'over onPause()'是不可接受的,除非你明確地在你的應用程序的元數據中(你沒有提到)_require_ Android 3.0。 – 2016-01-06 09:52:15
對,我確實爲Android 3.0和更高版本製作了我的應用程序,應該提到這一點。我更喜歡onStop()的另一個原因是[onPause()'docs]中的這一行(http://developer.android.com/reference/android/app/Activity.html#onPause %28%29):「當活動B在活動A前面啓動時,...... B將不會被創建,直到A的onPause()返回爲止,所以一定不要在這裏做任何冗長的事情。當然,整個生命週期文檔仍然相當混亂,所以這不是確鑿的。 – 2016-01-06 09:58:57