android - 当内存不足时完成一项 Activity

标签 android back-stack

我的应用程序中有一个 Activity A 启动 Activity B。当我的应用程序停止并且Android系统的内存较低时,我的应用程序将从后台堆栈中清除。当我再次启动我的应用程序时,在实例化 Activity B 期间发生异常。所以我想确保 Activity B 在内存不足时完成,这样就不会发生异常。我尝试将 finish() 放在 onMemoryLow() 中,但没有成功。我还能做什么?

最佳答案

这可能无法回答您的整个问题,但仍然会有所帮助。

首先你要注意的是,当你的整个 Android 系统内存不足时,onLowMemory() 将会被调用。这与您的应用或 Activity 无关。因此,重写该方法并不能确保您的 Activity 完成。

也许如果您的 Activity 位于 Andorid 系统的内存中(即在调用 onDestroy() 之前)并且您已经覆盖了 onLowMemory(),那么它会对您有所帮助。但除此之外,没有其他可能做到这一点。否则,您必须在进入 Activity 之前检查所需的条件。

关于android - 当内存不足时完成一项 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11541913/

相关文章:

android - 使用 backstack 启动 Activity

android - 当我们使用 FLAG_ACTIVITY_NEW_TASK 清除 Activity 堆栈时,OnDestroy 不会触发

java - 非法状态异常 : Fragment Already Added when resuming app

当用户尝试扫描 NFC 标签时,Android 10 显示 NFC 读取错误 toast

xml - 使用 SAXParser 将字符串列表获取到 arraylist 的问题

android - 为什么原生 WLClient 生命周期绑定(bind)到 Activity 生命周期

java - 如何在android studio中使用其他类的方法

android - 在导航架构组件中手动将 fragment 添加到后台堆栈中

android - 通过 Fragments 返回后出现白屏

android - 媒体播放器延迟启动