在我正在构建的应用程序中,我需要检测应用程序退出当且仅当应用程序在后台退出时,因为操作系统正在回收内存。
根据我自己的实验,在每个实例上都会调用 onDestroy。我试过检查 isFinishing 但我不能 100% 确定这会将它隔离到哪些情况。
@Override
public void onDestroy()
{
super.onDestroy();
Log.i("V LIFECYCLE", "onDestroy");
if (!isFinishing())
{
// are we here because the OS shut it down because of low memory?
ApplicationPreferences pref = new ApplicationPreferences(this);
// set persistant flag so we know next time that the user
// initiated the kill either by a direct kill or device restart.
pref.setThePersistantFlag(true);
Log.i("DEBUG", "onDestroy - ensuring that the next launch will result in a log out..");
}
}
任何人都可以在这里阐明我的问题吗?谢谢你。