我正在构建一个应用来处理一些数据。当流程完成时,它会显示通知。如果我稍后点击通知(同时执行一些繁重的任务)完成该过程就会崩溃。这是由于Android清理了应用程序使用的内存。当android强制关闭应用程序时,是否有任何回调方法/方法可以获得通知?
答案 0 :(得分:1)
public void onLowMemory()
当整个系统内存不足时调用此方法,并且 主动运行进程应该减少内存使用量。虽然 通常它没有定义调用它的确切点 将在所有后台进程被杀死时发生。那是, 在达到主机服务的杀戮过程之前 我们希望避免杀戮的前景UI。
您应该实现此方法以释放任何缓存或其他 你可能持有的不必要的资源。系统会 从这个方法返回后为你执行垃圾收集。
最好,你应该实现ComponentCallbacks2.onTrimMemory(int) 从ComponentCallbacks2到逐步卸载资源 在各种级别的内存需求。该API可用于API 等级14和更高,所以你应该只使用这个onLowMemory()方法 作为旧版本的后备,可以像对待一样处理 ComponentCallbacks2.onTrimMemory(int)with ComponentCallbacks2.TRIM_MEMORY_COMPLETE级别。
这是文档:
https://developer.android.com/reference/android/app/Activity.html#onLowMemory()