android Activity細節(一) onSaveInstanceState()方法使用注意點
1.在一個activity被銷燬前,不一定會呼叫onSaveInstanceState()
這個方法,因為不是所有情況都需要去儲存activity的狀態(例如當使用者按回退鍵退出你的activity的時候,因為使用者指定關掉這個activity)。
2.如果這個方法被呼叫,它一定會在 onStop()
方法之前,可能會在onPause()方法之前。
3.佈局中的每一個View預設實現了onSaveInstanceState()
方法,這樣的話,這個UI的任何改變都會自動的儲存和在activity重新建立的時候自動的恢復。但是這種情況只有在你為這個UI提供了唯一的ID之後才起作用,如果沒有提供ID,將不會儲存它的狀態。
4.由於預設的onSaveInstanceState()
方法的實現幫助UI儲存它的狀態,所以如果你需要覆蓋這個方法去儲存額外的狀態資訊時,你應該在執行任何程式碼之前都呼叫父類的onSaveInstanceState()
方法(super.onSaveInstanceState()
)。
5.由於onSaveInstanceState()
方法呼叫的不確定性,你應該只使用這個方法去記錄activity的瞬間狀態(UI的狀態)。不應該用這個方法去儲存持久化資料。當使用者離開這個activity的時候應該在onPause()
方法中儲存持久化資料(例如應該被儲存到資料庫中的資料)。
文章連結:http://blog.csdn.net/murongshusheng/article/details/8199538
相關文章
- Activity onSaveInstanceState(Bundle)
- QT小小細節注意點QT
- MYSQL索引建立需要注意以下幾點細節MySql索引
- Golang陣列注意細節Golang陣列
- 你需要注意的Java小細節(一)Java
- Android CardView 開發過程中要注意的細節AndroidView
- WAS 開發需要注意的一些細節
- Java面試要注意哪些細節Java面試
- 使用JavaScript變數需要注意哪些語法細節?JavaScript變數
- 使用Bootstrap v3.3.4注意細節box-sizingboot
- Android Activity生命週期的一點感悟Android
- Android Activity那點事Android
- Oracle兩個使用細節知識點Oracle
- 關於python類屬性和例項屬性的一些細節注意點Python
- Java泛型應該注意的細節Java泛型
- UITextField使用的一些細節UI
- Termux使用的一些細節UX
- android中activity全屏的方法Android
- java之集合框架使用細節及常用方法Java框架
- 慢慢細談Android 面試的細節Android面試
- css細節知識點CSS
- Android的細節知識彙總系列(一)Android
- 企業建站的相關注意細節分享
- JavaScript初學者應注意的七個細節JavaScript
- java中static使用之靜態方法注意點Java
- 程式設計師面試 IT 公司,這些細節一定要注意!程式設計師面試
- 實施“番茄工作法”需要注意的一些細節
- 多瞭解一點Activity
- Android基礎-Activity基本使用Android
- OpenFeign 使用細節
- [20200409]使用ash_wait_chains注意的一個細節.txtAI
- Git 的一些使用細枝末節Git
- Android-->ViewDragHelper的詳細使用方法AndroidView
- Android Handler詳細使用方法例項Android
- Android點將臺:顏值擔當[-Activity-]Android
- GO 變數使用細節Go變數
- TCP 中的兩個細節點TCP
- Oracle細節及難點總結Oracle