不保持活动和后台进程限制之间有什么区别。从开发人员的角度来看?

时间:2016-09-20 06:55:13

标签: android

我知道在开发者选项中检查don't keep activities会让android系统在用户离开屏幕后立即终止活动 - 因此开发人员必须通过覆盖onSaveInstance 但我不明白Background process limit的目的。它如何影响应用程序?作为开发人员,当我选择“无后台流程”时,我应该如何处理这种情况?

1 个答案:

答案 0 :(得分:1)

这个问题对我也很重要。作为开发人员,您需要测试边缘案例,并且" 不要保持活动"和" 没有后台流程"选项使您的应用行为不同。

以下是我收集的有关这些选项的内容:

不要保留活动:销毁并重新创建活动。这意味着您将通过onCreateonRestoreSaveInstance等等。它与改变配置(如旋转屏幕)的行为几乎相同。但是:你确实将变量保存在内存中。

示例:您有一个User对象,其String名称为" John"您在登录用户时设置的内容。如果您在重新创建活动时尝试访问user.getName()(并且它未保存在捆绑包中),则 仍会返回其名称。

没有后台流程:与&#34完全相同;不要保留活动" PLUS清理所有变量。

示例:此时user.getName()将返回null。

结论:对于用户来说,最常见的情况是"不要保持活动"。但是没有后台流程"也应该进行测试,因为它可以给出不同的结果,我猜可能会发生(有兴趣对此有统计数据)