Android活动中onCreate方法第二次实现的用法是什么?

时间:2016-11-04 13:50:27

标签: android android-activity activity-lifecycle

我总是在onCreate生命周期内使用Activity方法从已保存状态启动或恢复,但最近发现还有另一个onCreate方法包含PersistableBundle

@Override
public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
    super.onCreate(savedInstanceState, persistentState);

}

我发现它自Android 21以来就已添加。

有人可以在调用和使用时提供有关此方法的完整信息吗?

1 个答案:

答案 0 :(得分:1)

根据我的能力,如果您在清单中的活动上设置一个属性,如下所示:

<activity 
   android:name=".MainActivity"
   android:persistableMode="persistAcrossReboots"
</activity>

然后,您可以使用PersistableBundle在系统关闭并重新启动后恢复数据。换句话说,只要应用程序处于活动状态,普通的Bundle对象就会保留您的savedInstanceState的记录。在系统关闭的情况下,您可以使用PersistableBundle保存数据。

您也可以使用persistNeverpersistRootOnly代替persistAcrossReboots

您可以在此处找到有关文档的更多信息:https://developer.android.com/reference/android/R.attr.html#persistableMode