2013-11-01 59 views
0

我在Application.onCreate或MainActivity.onCreate上做了一些初始化工作(例如打开数据库或初始光盘缓存以用于映像),但是我们没有机会执行uninitlization工作(例如关闭数据库或flush/close/uninit光盘缓存图像)当应用程序即将被系统杀死。当内存不足时,Android应用程序是否有机会知道系统何时将被系统杀死?

我们都知道Application.onDestroy只是援引在模拟器......

任何人都可以帮我一个fovour?

谢谢!

回答

0

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

这时候整个系统内存上运行低叫,并 积极跑动过程中应减少她们的内存使用情况。虽然没有定义这个被调用的确切点,但是当所有的后台进程都被终止时,通常它会发生 。也就是,在达到托管服务的处理点之前为 ,而我们希望避免查杀的前景UI为 。

您应该实施此方法以释放您可能需要的任何缓存或其他不必要的资源。系统将从此方法返回后为您执行垃圾回收。

+0

这似乎是一种解决方法...... – Archy

+0

它是API的一部分..为什么它看起来是一种解决方法? –

+0

当内存不足时,当我的应用程序被系统杀死时,onLowMemory将永远不会被调用。 – Archy

相关问题