Android 从任务杀手操作或缓存中恢复清除
我希望我的应用程序从任务杀手操作或缓存清除中恢复。情景如下Android 从任务杀手操作或缓存中恢复清除,android,task,kill-process,clear-cache,Android,Task,Kill Process,Clear Cache,我希望我的应用程序从任务杀手操作或缓存清除中恢复。情景如下 启动应用程序 按主页按钮 杀死所有应用(或清除缓存) 从最近的任务启动应用程序 在这种情况下,应用程序将崩溃。我观察到,如果应用程序通过任务杀手应用程序或清除缓存被杀死,应用程序不会被正确杀死。它的一些内存被删除,但最后一个状态保留在最近的任务中。所以,当用户试图从最近的任务中打开应用程序时,应用程序会因为丢失一些全局或静态变量而崩溃 这种情况令人讨厌;在任务杀手操作或缓存清除之后,不会调用onDestroy()方法。(我的应用程序有一
关于如何解决这个问题有什么想法吗?提前感谢。问题在于任务杀手的存在:它们是无用的,伊姆霍。有关更多信息,请参阅。我通过使用生命周期差异来解决此问题 如果调用了home按钮,则会调用onStop(),但如果关闭了应用程序,则会调用onStop()和onDestroy(),这意味着如果任务在后台被终止,则不会调用onDestroy()。我通过SharedReferences跟踪这种情况
@Override
protected void onStop() {
SharedPreferencesUtilities.putBoolean("isFromOnStop", true);
super.onStop();
}
@Override
protected void onDestroy() {
SharedPreferencesUtilities.putBoolean("isFromOnStop", false);
super.onDestroy();
android.os.Process.killProcess(android.os.Process.myPid());
}
然后在onCreate()中,我检查了这个SharedReferences布尔值
if(SharedPreferencesUtilities.getBoolean("isFromOnStop", false)) {
SharedPreferencesUtilities.putBoolean("isFromOnStop", false);
((MainFragmentActivity)mContext).finish();
Toast.makeText(mContext, "Ooops app was killed in background", Toast.LENGTH_SHORT).show();
}
不管你对任务杀手的看法是什么,在被任务杀手杀死后,当应用程序恢复运行时,应用程序的状态仍然存在问题。@rajath,这就是投否决票的原因吗?如果你杀了一个应用程序,你会期待什么?如果被安卓系统杀死,问题还在吗?