关于onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState)的问题

Android问题集锦

onCreate()

当Activity重载了如下的OnCreate()方法之后,出现了布局加载空白和闪退的问题。

@Override
    public void onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState) {
        super.onCreate(savedInstanceState, persistentState);
        
        setContentView(R.layout.activity_main2);
    }

解决方法:

  • 在重载了该onCreate()方法的同时,需要在AndroidMainfest.xml注册该Activity时,添加android:persistableMode="persistAcrossReboots";否则,系统将不会调用 public void onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState),造成严重车祸.
    <activity android:name=".ui.activities.MainActivity"
        android:persistableMode="persistAcrossReboots">
    	<intent-filter>
       	 	<action android:name="android.intent.action.MAIN" />
    
       		<category android:name="android.intent.category.LAUNCHER" />
    	</intent-filter>
    </activity>
    
  • 如果不需要采用PersistableBundle 进行一些持久化数据存储,则可以重载另一个常用的OnCreate(@Nullable Bundle savedInstanceState)方法,从而避免该问题.

你可能感兴趣的:(Android,问题笔记)