当系统杀死我的应用程序以释放内存时如何获得通知?

时间:2018-06-12 10:04:07

标签: android android-activity memory-management

我正在构建一个应用来处理一些数据。当流程完成时,它会显示通知。如果我稍后点击通知(同时执行一些繁重的任务)完成该过程就会崩溃。这是由于Android清理了应用程序使用的内存。当android强制关闭应用程序时,是否有任何回调方法/方法可以获得通知?

1 个答案:

答案 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()