程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> java-在android中關於onCreate方法新參數問題

java-在android中關於onCreate方法新參數問題

編輯:編程綜合問答
在android中關於onCreate方法新參數問題

android中onCreate方法新參數(persistableBundle persistentState)是讓Activity擁有持久化能力,如何理解這個持久化能力呢?

最佳回答:


一般我們會搭配兩個方法來使用:
public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState)
public void onRestoreInstanceState(Bundle savedInstanceState, PersistableBundle persistentState)
前一個方法會在下述情形中被調用:
點擊home鍵回到主頁或長按後選擇運行其他程序
按下電源鍵關閉屏幕
啟動新的Activity
橫豎屏切換時,肯定會執行,因為橫豎屏切換的時候會先銷毀Act,然後再重新創建 重要原則:當系統"未經你許可"時銷毀了你的activity,則onSaveInstanceState會被系統調用, 這是系統的責任,因為它必須要提供一個機會讓你保存你的數據(你可以保存也可以不保存)。
而後一個方法,和onCreate同樣可以從取出前者保存的數據: 一般是在onStart()和onResume()之間執行! 之所以有兩個可以獲取到保存數據的方法,是為了避免Act跳轉而沒有關閉, 然後不走onCreate()方法,而你又想取出保存數據~

說回這個Activity擁有了持久化的能力,增加的這個PersistableBundle參數令這些方法 擁有了系統關機後重啟的數據恢復能力!!而且不影響我們其他的序列化操作, 具體怎麼實現的,暫時還不了解,可能是另外弄了個文件保存吧~!另外,API版本需要>=21,就是要5.0以上的版本才有效~

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved