【问题标题】:Adobe Flex Android Mobile - Preventing inactivity causing loss of control values?Adobe Flex Android Mobile - 防止不活动导致控制值丢失?
【发布时间】:2012-05-24 02:16:41
【问题描述】:
我正在开发一个可以进行简单年龄计算的移动应用程序。我有一个更新 3 个标签的日期微调器。当我第一次在我的安卓设备上启动我的移动应用程序时,它运行良好。我可以多次更新控件而没有任何问题。
我遇到的问题是,当应用程序在几个小时内处于非活动状态,然后我返回应用程序时,它就会失去它的价值。奇怪的是,我尝试更改日期微调器并且标签没有更新,并且日期微调器返回到默认日期。有没有我需要参与的事件来纠正这个问题?有人可以帮助解释发生了什么吗?我查看了 Adobe 的支持网站,他们没有提供任何关于此问题的信息。
如何防止这种行为?
【问题讨论】:
标签:
android
apache-flex
air
adobe
flex-spark
【解决方案1】:
您的应用可能在处于非活动状态时被 Android 系统杀死以优先考虑系统资源。当您返回您的应用程序时,它会重新启动,但您的应用程序的状态会丢失并返回默认值。为避免丢失应用程序的状态,您需要将确定状态的变量(在您的情况下为微调器的位置)保存在持久内存中。保存状态的一种方法是使用PersistenceManager。 Here 是一个如何使用它的例子。
您需要决定何时保存状态。您可以在应用级别收听一些有用的事件,例如
Event.DEACTIVATE
触发对持久内存的写入。