0

我已经创建了自己的应用程序类。

我尝试对其进行调试,代码在 Application.onCreate() 处停止,但并未在 onLowMemory 处停止。

为了测试这个场景,我打开了很多其他的高内存应用程序。

我看到的是调试会话终止(在 eclipse 中)并且我的一些静态变量变成了 null - 表明进程已经结束。

不仅调试没有停止@方法的断点,我还放了一个 Log.e(...) 行并且也没有看到它。

知道为什么没有调用该方法吗?

谢谢。

4

1 回答 1

3

我不认为有任何保证会调用此方法。

文档

虽然没有定义调用它的确切时间,但通常它会在所有后台进程都被杀死的时候发生,即在到达我们希望避免杀死的托管服务和前台 UI 的进程终止点之前。

由于未定义调用它的点,它可以选择从不调用它。

一般来说,只要它在后台,Android 可以随时杀死你的应用程序。您应该只依赖生命周期中的方法(如 onPause、onStop、onDestroy),这些方法明确声明保证会调用它们以进行任何必要的清理。

于 2011-03-16T19:10:35.930 回答