我已经创建了自己的应用程序类。
我尝试对其进行调试,代码在 Application.onCreate() 处停止,但并未在 onLowMemory 处停止。
为了测试这个场景,我打开了很多其他的高内存应用程序。
我看到的是调试会话终止(在 eclipse 中)并且我的一些静态变量变成了 null - 表明进程已经结束。
不仅调试没有停止@方法的断点,我还放了一个 Log.e(...) 行并且也没有看到它。
知道为什么没有调用该方法吗?
谢谢。
我已经创建了自己的应用程序类。
我尝试对其进行调试,代码在 Application.onCreate() 处停止,但并未在 onLowMemory 处停止。
为了测试这个场景,我打开了很多其他的高内存应用程序。
我看到的是调试会话终止(在 eclipse 中)并且我的一些静态变量变成了 null - 表明进程已经结束。
不仅调试没有停止@方法的断点,我还放了一个 Log.e(...) 行并且也没有看到它。
知道为什么没有调用该方法吗?
谢谢。
我不认为有任何保证会调用此方法。
从文档:
虽然没有定义调用它的确切时间,但通常它会在所有后台进程都被杀死的时候发生,即在到达我们希望避免杀死的托管服务和前台 UI 的进程终止点之前。
由于未定义调用它的点,它可以选择从不调用它。
一般来说,只要它在后台,Android 可以随时杀死你的应用程序。您应该只依赖生命周期中的方法(如 onPause、onStop、onDestroy),这些方法明确声明保证会调用它们以进行任何必要的清理。