目前我正在开发xmmp客户端,当应用程序处于前台时它工作得非常好。但是由于当app在后台时,我在Application类(复杂的ArrayList,字符串和布尔值作为公共静态)中保存了大量数据,因此每个字段都被垃圾收集。
所以我的问题是,当我从后台获取应用程序时,检索此数据的最佳方法是什么?这是一个很大的问题,因为到目前为止我在每个班级都使用这种公共静态,这会导致我的应用程序崩溃。问题在于,用户可以将app放在每个活动的后台,并且在Application类中重新填充数据似乎很难。也许还有另一种方法可以保持数据的全局访问权限,不会在后台被删除?
提前致谢
答案 0 :(得分:0)
如果问题是你的app在backgroud中被android破坏了,那么标准的方法是将数据保存在主活动的onDestroy()函数中,并在onCreate方法中检索这些数据再次打开(使用捆绑包)。
如果您希望数据在手机关闭时仍然存在,您可以考虑永久存储选项,如数据库。看看http://developer.android.com/guide/topics/data/data-storage.html
最后,如果您想要一种在后台运行的方法,您可以查看Service类。但是,如果要求您提供更多编码,以便能够在您的服务和活动之间进行通信
答案 1 :(得分:0)
尝试使用sharedpreferences,请参阅以下示例
http://www.androidhive.info/2012/08/android-session-management-using-shared-preferences/