是否会在应用程序销毁时调用onDestroy()活动?

时间:2014-03-26 12:34:43

标签: android android-activity

我有5个活动。动作1>动作2>动作3>动作4>动作5.并且每个动作具有ovveridden onDestroy()。现在,如果用户在第5幕并从最近的应用程序中销毁应用程序会发生什么?它会调用eachActivity的onDestroy()吗?

2 个答案:

答案 0 :(得分:2)

一般来说是的,但是你不能100%依赖它,因为活动可能因其他原因而被破坏。例如,如果用户切换到另一个应用程序,系统可能会决定暂时终止您的活动以回收资源,并在用户切换回您的应用程序时重新创建它们。如果发生这种情况然后用户杀死你的应用程序,你将无法获得onDestroy()调用,因为没有“实时”活动可以销毁,它们都已经死了。

另请注意,不保证立即调用onStop()和onDestroy()方法,可能会在一段时间后调用它们。唯一的保证是调用的顺序:在onPause()之前不会调用onStop(),而在onStop()之前不会调用onDestroy()。

答案 1 :(得分:0)

正如Activity Page

中所述

在某些情况下,系统会在不调用此方法(或任何其他方法)的情况下简单地终止活动的托管过程,因此不应将其用于执行旨在保留的方法过程消失后。

杀死的Android应用可能会因为PID(进程ID)而被杀死,这意味着应用程序被杀死,而不是单个活动。