【问题标题】:Android back stack sizeAndroid 回栈大小
【发布时间】:2023-03-11 22:29:01
【问题描述】:

我们有一个应用程序,其中包含指向各种屏幕和报告的链接。

在网络浏览器上,我们可以导航到不同的页面,并将页面添加到导航历史记录中,但我不必考虑返回堆栈。我只是假设如果历史记录占用太多内存,浏览器会根据需要修剪浏览历史记录 - 但听起来在 Android 中,如果堆栈太大,我们会看到内存不足错误?

我应该怎么做才能保持后台堆栈的内存占用合理,但让人们在应用程序中导航并保留他们过去几个屏幕的历史记录?有我应该寻找的设置吗?或者只是我应该运行的一个小代码脚本?

我想使用 Android 原生提供的任何东西,而不是在这里尝试从头开始创建一些东西......

还是我想错了问题?...

【问题讨论】:

    标签: android user-interface fragmentmanager


    【解决方案1】:

    不要打扰自己。如果系统需要更多内存,它将破坏后台活动并在用户返回时重新创建它们。

    Documentation

    当系统停止您的一个活动时(例如当一个新活动启动或任务移至后台时),如果系统需要恢复系统内存,它可能会完全销毁该活动。发生这种情况时,有关活动状态的信息将丢失。如果发生这种情况,系统仍然知道该活动在后堆栈中有一个位置,但是当活动被带到堆栈顶部时,系统必须重新创建它(而不是恢复它)

    【讨论】:

    • 有趣 - 我希望我能看到一些内容说后堆栈本身也被修剪了,在它们引用的活动被销毁很久之后。看起来无限增长的列表总是令人担忧。
    猜你喜欢
    • 2012-02-10
    • 2011-05-06
    • 1970-01-01
    • 2021-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多