編輯:關於Android編程
一、臨時性數據
首先說明一下一般控件的狀態是不需要你寫代碼去保存的,因為Android框架中幾乎所有UI控件都實現了onSaveInstanceState方法, 因此當Activity銷毀和重建時, 這些UI控件會自動保存和恢復狀態數據。當然你也不能什麼都不做,你需要為這些控件指定一個id,剩下的事情框架會自己去做,如果你不指定id,那麼控件的狀態數據是不會自動保存和恢復的。
下面來詳細說明一下onSaveInstanceState和onRestoreInstanceState這兩個方法。
onSaveInstanceState調用的原則是系統有未經你的許可銷毀Activity的可能。那麼onSaveInstanceState有下面幾種情況會調用:
1、按下HOME鍵(onPause-->onStop-->onStart-->onResume)
2、長按HOME鍵切換到了其他APP(onPause-->onStop-->onStart-->onResume)
3、橫豎屏切換(onPause-->onStop-->onDestroy-->onCreate-->onStart-->onResume)
4、Activity的導航(onPause-->onStop-->onStart-->onResume)
5、鎖定屏幕(鎖定:onPause-->onStop,喚醒:onStart-->onResume)
onRestoreInstanceState被調用的原則是Activity被銷毀了,而不是可能被銷毀了。
二、持久性數據
在onResume和onPause方法中做,可以把數據保存在數據庫或者SharedPreference中。然而在生命周期函數中不適合做耗時的操作,讀者如果有好的方法保存較大的數據,歡迎評論。
Fragment相當於一個小型activity,因為Fragment可以實現activity中所有的功能,不同的是Fragment可以嵌入activity,一個activ
華為榮耀於8月1號下午正式發布了6.6吋大屏手機華為榮耀NOTE8,對於買到新機的朋友是不是有這樣的疑問呢,華為榮耀note8怎麼裝sim卡?華為榮耀not
前言尋尋覓覓終於等到你,Material Design系列BottomBar開源庫你值得擁有。從我接觸android開發遇到tabhost,到radioGroup+Vie
前言在開發中,一個良好的開發習慣以及一個開發規范可能會讓你少走很多彎路,也會一定程度上的提高代碼的可讀性,可維護性和可拓展性。當隨著需求的不斷變更,需要維護項目的時候。當