【发布时间】:2019-06-13 15:47:37
【问题描述】:
我的应用程序有一些全局/静态数据结构需要在显示主 Activity 之前进行初始化,所以我将工作放入我的 SplashActivity 的 onCreate 方法中,它只显示 2 秒的启动图像,开始另一个活动,并自行完成:
initializeGlobalData();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent i = new Intent(SplashActivity.this, MainActivity.class);
startActivity(i);
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
finish();
}
}, 2000);
现在,我的应用程序有时会因为空指针引用而神秘地崩溃 - 一些全局数据结构未初始化。这只能意味着 SplashActivity 的 onCreate 方法没有被调用(对吧?)。
我不知道如何重现这种情况,但它经常发生。有可能我将应用程序留在了后台,然后重新进入。但是应用级数据不应该公开吧?
【问题讨论】:
标签: android memory-management android-lifecycle