我找到onDestroy()
仅当按下后退按钮时调用,not当使用最近的应用程序(通过按十字或滑动应用程序)或在应用程序管理器中关闭应用程序时。
下面是我的代码onDestroy()
:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
((ActivityManager) getActivity().getSystemService(Context.ACTIVITY_SERVICE))
.clearApplicationUserData();
}
我编写了删除数据和缓存的代码onDestroy()
被调用,所以如果有人按“后退”按钮,数据和缓存将被清除,应用程序将关闭(而不是进入后台),但是当我从“最近的应用程序”或“应用程序管理器”中关闭它时,数据和缓存仍然存在。
如何在我的应用程序关闭时删除数据?
我发现 Ondestroy() 仅在按下后退按钮时调用,而不是在使用最近的应用程序(通过按十字或滑动应用程序)或应用程序管理器关闭应用程序时调用。
onDestroy()
可能会也可能不会被要求参加任何特定的活动或服务。一般规则是either onDestroy()
被调用,或者您的进程被终止,或者您的代码崩溃。
如何在应用程序关闭时删除数据?
你不知道。您的进程可能会因任何原因、在任何时间、由用户或操作系统终止。您可能会也可能不会被呼叫onDestroy()
当这种情况发生时。虽然您可以通过以下方式稍微提高成功率onTaskRemoved()
on a Service
,这本身已经被证明是不可靠的,并且它不会覆盖所有场景。
如果您不希望在进程终止时数据保留在文件中,请不要首先创建文件。只需保留内存中的数据即可。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)