Android应用程序某些设备上的奇怪行为

时间:2012-05-16 08:57:29

标签: android

我在某些设备上遇到了应用程序的奇怪行为。每次我的应用程序最小化并重新打开时,我的应用程序从一开始就重新启动。这只发生在一些设备上,我不知道为什么会发生这种情况。有没有人遇到过这种问题?请让我知道解决方案。

2 个答案:

答案 0 :(得分:5)

这是由于某些设备中的内存处理 - 具有低内存和胖外观的内存将更快地破坏后台应用程序,以便它们不会耗尽内存。

您无法保证您的应用程序在任何时候都会保持活动状态(除非它是服务),因此您必须围绕此设计应用程序。

答案 1 :(得分:1)

此行为可能是由于这些设备上的内存不足。但是,您可以尝试做的是将android:alwaysRetainTaskState="true"设置为清单中的第一个活动。即使在内存不足的情况下,此属性也会尽力将应用程序的活动保留在内存中。

根据开发人员docs

  

<强>机器人:alwaysRetainTaskState

     

活动所在的任务的状态是否会出现   始终由系统维护 - 如果是,则为“true”,并且为“false”   如果允许系统将任务重置为其初始状态   某些情况。默认值为“false”。这个属性是   仅对任务的根活动有意义;它被忽略了   其他活动。

     

通常,系统会清除任务(从中移除所有活动)   在用户的某些情况下,在根活动之上堆叠)   从主屏幕重新选择该任务。通常情况下,如果这样做   用户没有访问任务一段时间,例如   30分钟。

     

但是,当此属性为“true”时,用户将始终返回   这个任务处于最后状态,无论他们如何到达那里。这是   例如,在像Web浏览器这样的应用程序中很有用   用户会有很多状态(例如多个打开的选项卡)   不喜欢失去。