我在某些设备上遇到了应用程序的奇怪行为。每次我的应用程序最小化并重新打开时,我的应用程序从一开始就重新启动。这只发生在一些设备上,我不知道为什么会发生这种情况。有没有人遇到过这种问题?请让我知道解决方案。
答案 0 :(得分:5)
这是由于某些设备中的内存处理 - 具有低内存和胖外观的内存将更快地破坏后台应用程序,以便它们不会耗尽内存。
您无法保证您的应用程序在任何时候都会保持活动状态(除非它是服务),因此您必须围绕此设计应用程序。
答案 1 :(得分:1)
此行为可能是由于这些设备上的内存不足。但是,您可以尝试做的是将android:alwaysRetainTaskState="true"
设置为清单中的第一个活动。即使在内存不足的情况下,此属性也会尽力将应用程序的活动保留在内存中。
根据开发人员docs:
<强>机器人:alwaysRetainTaskState 强>
活动所在的任务的状态是否会出现 始终由系统维护 - 如果是,则为“true”,并且为“false” 如果允许系统将任务重置为其初始状态 某些情况。默认值为“false”。这个属性是 仅对任务的根活动有意义;它被忽略了 其他活动。
通常,系统会清除任务(从中移除所有活动) 在用户的某些情况下,在根活动之上堆叠) 从主屏幕重新选择该任务。通常情况下,如果这样做 用户没有访问任务一段时间,例如 30分钟。
但是,当此属性为“true”时,用户将始终返回 这个任务处于最后状态,无论他们如何到达那里。这是 例如,在像Web浏览器这样的应用程序中很有用 用户会有很多状态(例如多个打开的选项卡) 不喜欢失去。