【问题标题】:Prevent an activity being destroyed on low memory防止活动在内存不足时被破坏
【发布时间】:2016-02-24 05:33:02
【问题描述】:

我的应用程序中有两个活动。活动 A 有一个列表视图,并在单击列表视图中的项目时加载活动 B。单击后退按钮后,它将转到活动 A 并在某些设备中正确显示列表视图。但在某些内存不足的设备中,活动 A 在活动 B 中单击后退按钮时不会加载列表视图。(活动 A 将为空白)。

我该如何克服这个挑战?

【问题讨论】:

  • 不,为什么这是个好主意.....
  • 您应该始终期望您的活动在不可见时会被销毁。在适当的回调中保留您的状态。
  • 有可能(并且非常有意义)防止 Activity 由于内存不足而被破坏。由于其他原因(例如应用程序变为非活动状态并到达 OOM 销毁列表的末尾),无法阻止它被破坏,但这不是问题所在。
  • @rbhagwat 由于内存不足而破坏活动是一件好事,.. 因为您还没有提供任何代码,所以我建议您在 5 月 2 日、3 日仅用少数项目填充您的列表。 . 并检查它的流程,.. 如果它仍然给出问题,而不是你的代码有问题,在这种情况下,我建议你阅读如何在这里制作自定义 ListView 是一个很好的启动guides.codepath.com/android/Using-an-ArrayAdapter-with-ListView

标签: android android-activity


【解决方案1】:

这是做不到的。 Android 可以在某些情况下销毁任何活动。您所能做的就是在 onSaveInstanceState() 中保留数据(例如适配器的底层数据集)并在 onCreate() 或 onRestoreInstanceState() 中恢复它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-05
    • 1970-01-01
    • 2018-02-26
    • 1970-01-01
    • 2014-01-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多