Android上用于在整个应用程序会话中保持活动deathes / restarts之间的数据的最佳做法是什么?

我们正在设计一个 Android应用程序,其中包含几个以向导方式工作的活动 – 用户应该从活动#1转到活动#5以进入最终活动(#6).

由于我们知道操作系统可以在低内存中突然终止活动,因此我们使用Application类作为静态存储来保存用户输入的数据“向导”活动以及我们的应用程序在整个会话中需要的其他数据.

不幸的是我们发现这种方法失败了 – 看起来像Application类实例也可以被OS杀死(这是在Android 1.6和1.5上专门发现的).我们对这种方法的期望是否错误(我们认为Application类实例总是适用于整个应用程序会话)?

所以问题是 – 在整个应用程序会话的活动deathes / restarts之间保持数据的Android最佳实践是什么?

解决方法

We’re designing an Android app that
has several activities which are
working in a wizard like way – user
should pass from the activity #1 to
activity #5 to get to the final
activity (#6).

您确定要将它们作为单独的活动实施吗?为什么不使用ViewFlipper或其他东西在向导状态之间移动单个活动?

Are our expectations wrong on this
approach (we think Application class
instance always lives for the whole
app session)?

Application类实例始终适用于整个应用程序会话AFAIK.但是,一旦您的所有活动都被销毁,应用程序也将被销毁.

So the question is – what is the best
practices on Android to keep data
between activities deathes/restarts
for the whole application session?

>使用服务 – 如果这被踢出RAM,只需从头开始
>使用数据库
>使用文件

或者,最好:在这种情况下不要使用多个活动.向导是一个逻辑的东西;如此对待并使其成为一项活动.通过onSaveInstanceState()保持你的状态,你就被设置了.

以上是来客网为你收集整理的Android上用于在整个应用程序会话中保持活动deathes / restarts之间的数据的最佳做法是什么?全部内容,希望文章能够帮你解决Android上用于在整个应用程序会话中保持活动deathes / restarts之间的数据的最佳做法是什么?所遇到的程序开发问题。

如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。