当内存不足时,Android应用程序是否有机会知道它何时会被系统杀死?

时间:2013-11-01 02:27:29

标签: android

我在Application.onCreate或MainActivity.onCreate上做了一些初始化工作(比如打开DB或init盘缓存),但我们没有机会进行uninitlization工作(例如关闭DB或flush / close /当应用程序即将被系统杀死时,用于图像的uninit光盘缓存。

我们都知道Application.onDestroy只在模拟器上调用......

任何人都能帮我一个忙吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为你应该使用onLowMemory方法。正如developer docs

中所定义
  

当整个系统内存不足时调用此方法,并且   主动运行进程应该减少内存使用量。虽然   通常它没有定义调用它的确切点   将在所有后台进程被杀死时发生。那是,   在达到主机服务的杀戮过程之前   我们希望避免杀戮的前景UI。

     

您应该实现此方法以释放任何缓存或其他   你可能持有的不必要的资源。系统会   从这个方法返回后为你执行垃圾收集。