我知道在开发者选项中检查don't keep activities
会让android系统在用户离开屏幕后立即终止活动 - 因此开发人员必须通过覆盖onSaveInstance
但我不明白Background process limit
的目的。它如何影响应用程序?作为开发人员,当我选择“无后台流程”时,我应该如何处理这种情况?
答案 0 :(得分:1)
这个问题对我也很重要。作为开发人员,您需要测试边缘案例,并且" 不要保持活动"和" 没有后台流程"选项使您的应用行为不同。
以下是我收集的有关这些选项的内容:
不要保留活动:销毁并重新创建活动。这意味着您将通过onCreate
和onRestoreSaveInstance
等等。它与改变配置(如旋转屏幕)的行为几乎相同。但是:你确实将变量保存在内存中。
示例:您有一个User对象,其String名称为" John"您在登录用户时设置的内容。如果您在重新创建活动时尝试访问user.getName()
(并且它未保存在捆绑包中),则 仍会返回其名称。
没有后台流程:与&#34完全相同;不要保留活动" PLUS清理所有变量。
示例:此时user.getName()
将返回null。
结论:对于用户来说,最常见的情况是"不要保持活动"。但是没有后台流程"也应该进行测试,因为它可以给出不同的结果,我猜可能会发生(有兴趣对此有统计数据)