【问题标题】:What is the difference between Don't keep activities and Background processs limit. from a developer's perspective?不保留活动和后台进程限制有什么区别。从开发人员的角度来看?
【发布时间】:2017-04-27 22:05:35
【问题描述】:

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

【问题讨论】:

标签: android


【解决方案1】:

这个问题对我也很重要。作为开发人员,您需要测试边缘案例,“不保留活动”和“无后台进程”选项都会使您的应用表现出不同的行为。

以下是我收集到的关于这些选项的信息:​​

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

示例:您有一个用户对象,其中包含您在登录用户时设置的 String name = "John"。如果您尝试访问 user.getName()(并且它没有保存在 Bundle 中),当活动是被重新创建后,您仍会恢复他的名字。

无后台进程:与“不保留活动”完全相同,并清除所有变量。

示例:user.getName() 这次将返回 null。

底线:用户运行的最常见场景似乎是“不保留活动”。但是“无后台进程”也应该进行测试,因为它可能会给出不同的结果,而且我猜可能会发生(有兴趣对此进行统计)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-22
    • 1970-01-01
    • 2010-11-10
    • 1970-01-01
    • 1970-01-01
    • 2011-01-17
    • 1970-01-01
    相关资源
    最近更新 更多