【问题标题】:Overriding onTrimMemory in Application vs Activity在应用程序与活动中覆盖 onTrimMemory
【发布时间】:2017-08-16 11:20:41
【问题描述】:

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

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

对于上述情况,如果在 Activity 上无法调用 onTrimMemory,如果我确实想修剪应用程序的缓存,我是否应该将 onTrimMemory 放在应用程序中?

【问题讨论】:

    标签: android


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2015-11-04
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 2012-11-04
      • 1970-01-01
      • 2012-08-29
      • 2022-06-23
      • 1970-01-01
      相关资源
      最近更新 更多