覆盖应用程序与活动中的onTrimMemory

时间:2017-03-23 18:16:24

标签: android

在应用程序vs活动中覆盖onTrimMemory有什么优点和缺点。对于应用程序和活动的onTrimMemory,Android文档看起来完全相同,看起来它们都是在后台调用的。

如果我在Activity中实现onTrimMemory并且应用程序是后台的并且调用了onDestroy活动,那么可以在之后调用onTrimMemory吗?

对于上面的情况,我是否应该在应用程序中放置onTrimMemory,如果我想在活动上调用onTrimMemory时修剪应用程序的缓存?

1 个答案:

答案 0 :(得分:1)

您应该根据保留您要修剪的内存,覆盖onTrimMemory(int)Application(或任何其他组件)中的Activity。负责记忆的类应该进行修剪。

回调的机制如下:系统调用Application.onTrimMemory(int),然后在应用程序的组件上调用相同的回调。回调在任何应该被调用的地方被调用(我怀疑它将在Activity.onDestroy()之后 - 你不应该再关心这样的活动了)。您的覆盖决定不应受活动生命周期的影响。

如果内存属于应用程序,请在那里处理。如果它只属于一个Activity,那就在那里处理它。