我在Application.onCreate或MainActivity.onCreate上做了一些初始化工作(比如打开DB或init盘缓存),但我们没有机会进行uninitlization工作(例如关闭DB或flush / close /当应用程序即将被系统杀死时,用于图像的uninit光盘缓存。
我们都知道Application.onDestroy只在模拟器上调用......
任何人都能帮我一个忙吗?
谢谢!
答案 0 :(得分:0)
我认为你应该使用onLowMemory
方法。正如developer docs:
当整个系统内存不足时调用此方法,并且 主动运行进程应该减少内存使用量。虽然 通常它没有定义调用它的确切点 将在所有后台进程被杀死时发生。那是, 在达到主机服务的杀戮过程之前 我们希望避免杀戮的前景UI。
您应该实现此方法以释放任何缓存或其他 你可能持有的不必要的资源。系统会 从这个方法返回后为你执行垃圾收集。