我试图在退出应用程序时保留日志。我使用过这段代码:
public void onDestroy() {
super.onDestroy();
Log.d("D", "Destroyed");
}
但这仅在按下Back
按钮时有效。当我按下Home
按钮,应用程序Pauses
,如果我从任务管理器关闭此应用程序,则不会调用onDestroy
函数。如何处理?
有什么想法吗?
答案 0 :(得分:1)
您无法处理从任务管理器关闭应用程序。在这种情况下,您正在查杀该应用,并且未调用onDestroy
。你应该在onPause
答案 1 :(得分:0)
在某些情况下,您的活动会因此被销毁 正常的应用程序行为,例如当用户按下后退按钮或时 你的活动通过调用finish()表示自己的破坏。该 如果系统当前已停止,系统也可能会破坏您的活动 没有在很长一段时间内使用或前台活动需要 更多资源,因此系统必须关闭后台进程 恢复记忆。
当您通过按主页按钮在应用程序之间切换时,Android会暂停活动并在您返回活动时恢复活动。
在大多数情况下,操作系统决定何时退出应用程序,因此在销毁活动时记录是没有意义的。我建议覆盖onPause()
或onStop()
方法
答案 2 :(得分:0)
您可以使用onPause()
方法完成您的工作。
在你的情况下:
如果在任务管理器的进程列表中使用End Process
,那么在应用程序中没有调用任何内容,应用程序就会被终止
如果在“应用程序”列表中使用End Task
,则会将WM_CLOSE
发送到窗口,从而允许应用程序进行清理。
答案 3 :(得分:0)
onDestroy()
。它在活动的生命周期中也被调用一次。
操作系统决定什么时候“消失”。 onDestroy
是让你的应用程序最终有机会在活动被破坏之前清理的。