【发布时间】:2013-08-05 21:50:15
【问题描述】:
我们知道,Android 中针对此类场景的默认流程是在释放对 Activity 对象的引用之前调用 Activity 各自的 onSaveInstanceState、onStop、onDestroy 方法。
但是,当我的应用程序在后台时,似乎我有一个案例,活动在没有调用这些方法的情况下被杀死,但我的应用程序本身并没有被破坏。
但是我无法强制重现此内容。每当我在前台使用需要大量资源的应用程序时,整个进程都会被杀死,而不仅仅是活动。
哪一种让我想知道,因为我认为在低资源上的“应用杀戮”本质上只是旧的信号方式,Android系统是否真的在不调用这些方法的情况下立即“杀死”(释放)一个活动?还是我在追鬼?
【问题讨论】:
-
这是千分之一的场景,还是经常发生?
-
您能为此提供任何证据吗?我不确定你所说的“被杀”是什么意思。我不相信 Android 会在没有首先调用其
onDestroy方法的情况下为 GC 发布 Activity。正如您所注意到的,它可以终止包含 Activity 的进程,这将产生终止 Activity 的影响,wo/callback。还有 Doze,它可能会使 Activity 处于静止状态。
标签: android-activity activity-lifecycle android