我遇见的情况是使用这个方法之后不显示布局文件的内容,经过一段坎坷路才发现是这个方法的问题。会导致下面根本就不会往下走!
@Override
//此方法不会走initData()
public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
super.onCreate(savedInstanceState, persistentState);
initData();
}
@Override
//此方法可以执行initData()
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initData();
}
看了一下源码,里面还是调用了原始的onCreate()方法,结合以下两个方法使用
@Override
public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
super.onSaveInstanceState(outState, outPersistentState);
@Override
public void onRestoreInstanceState(Bundle savedInstanceState, PersistableBundle persistentState) {
super.onRestoreInstanceState(savedInstanceState, persistentState);
}
最后在配置文件中注册当前Activity的时候加上这个属性,Android:persistableMode=”persistAcrossReboots”就可以给你的Activity存储一些持久化数据。当你的手机有突发情况的时候,可以给你的页面获取到相关数据。