Seb*_*ano 39 android android-activity
标题非常明显.我理解这个开发人员选项的作用.
我不明白的是以下几点:
我很想知道这个选项背后的原因.
Nic*_*tto 35
我相信它是用于调试目的的功能.
来自Titanium doc:
不要在"开发人员选项"菜单下保留活动.启用此选项后,Android操作系统将在停止后立即销毁该活动.它旨在帮助开发人员调试他们的应用程序.例如,它可以模拟Android因内存压力而在后台杀死活动的情况.在正常使用中,建议不要启用此选项,因为这可能会导致应用程序出现意外问题,例如冻结,强制关闭和重新启动.
听起来它基本上有助于确定性地测试当应用程序由于任何原因(内存不足等)关闭它时应用程序的行为.
所以,这回复了第1点.第2点是:是的,我猜:)
编辑:进一步的参考
Kev*_*ede 18
Android框架可能会在后台或后台堆栈中破坏您的活动,您应该编写活动,以便在发生这种情况时它们正常运行.具体取决于活动的作用,但通常包括实施onSaveInstanceState(...)
和恢复以前的任何状态onCreate(...)
.
"不要保持活动"开发人员选项只是改变框架的行为,因此当它进入后台或后台时它总是会破坏你的活动.这允许您测试您的活动如何响应通常罕见的事件.
另一个答案中引用的链接说:
在正常使用中,建议不要启用此选项,因为这可能会导致应用程序出现意外问题,例如冻结,强制关闭和重新启动.
这是不正确的.如果您的活动写得正确,那么打开"不要保持活动"的唯一效果应该是(可能)从不断保存和恢复持久状态的电池和CPU使用率略高.任何显示"意外问题"或强制关闭的应用程序在此选项打开时都会被破坏并需要修复.作为开发人员,我习惯性地一直打开"不要保持活动".我见过很多有缺陷的应用程序,甚至是谷歌的一些应用程序.但它从来没有引起重启,我认为没有任何办法可以.