gpt4 book ai didi

android - 在android中关闭应用程序时调用哪个方法?

转载 作者:行者123 更新时间:2023-12-04 01:51:07 25 4
gpt4 key购买 nike

我发现 onDestroy() 仅在按下后退按钮时被调用,不会在使用最近的应用程序关闭应用程序时(通过按下交叉键或滑动应用程序)或在应用程序管理器中。

下面是我在onDestroy()中的代码:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
((ActivityManager) getActivity().getSystemService(Context.ACTIVITY_SERVICE))
.clearApplicationUserData();
}

我编写了在调用 onDestroy() 时删除数据和缓存的代码,因此如果有人按下返回按钮,数据和缓存将被清除并关闭应用程序(而不是进入后台)但是当我从最近的应用程序或应用程序管理器中关闭它时,数据和缓存仍然存在。

如何在我的应用关闭时删除数据?

最佳答案

I found that Ondestroy() is called only when back button is pressed ,not when app is closed using recent apps (by pressing on cross or sliding the app) or application manager.

onDestroy() 可能会或可能不会在任何给定的 Activity 或服务上被调用。一般规则是 要么 onDestroy() 被调用,要么您的进程被终止,要么您的代码崩溃。

How to delete data when app is closed ?

你不知道。您的进程可能随时因任何原因被用户或操作系统终止。当发生这种情况时,您可能会或可能不会被 onDestroy() 调用。虽然您可以通过 Service 上的 onTaskRemoved() 稍微提高成功率,但这本身已被证明是不可靠的,并且它不会涵盖所有情况。

如果您不想在进程终止时将数据保存在文件中,请不要首先创建文件。只保留内存中的数据。

关于android - 在android中关闭应用程序时调用哪个方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40085754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com