2017-03-23 71 views
1

覆盖应用程序vs活动中onTrimMemory的优点和缺点是什么? Android文档在应用程序和Activity的onTrimMemory上看起来完全一样,看起来它们都在后台调用。在应用程序vs活动中覆盖onTrimMemory对比活动

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

对于上述情况,如果我想修剪应用程序的缓存,如果onTrimMemory不能在活动上调用,我应该将onTrimMemory放在应用程序中吗?

回答

1

你应该根据谁一直要修剪内存ApplicationActivity(或任何其他部件)覆盖onTrimMemory(int)。负责内存的类应该进行修整。

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

如果内存属于应用程序,请在此处理。如果它只属于某个活动,请在那里处理。