应用程序运行时,我的Android应用程序单例会重新初始化

时间:2013-07-20 16:00:26

标签: android android-intent singleton actionbarsherlock slidingmenu

我搜索了2-3天我的问题的解决方案,但我没有找到任何有类似问题的人。基本上,我的应用程序是一个网站的“移动版本”,所以我必须存储时间上不同的帐户信息,所以我使用了一个signleton类,称之为“用户”。然而,在通过某些2个活动进行导航时(在一个中我有一个可扩展的列表,在另一个中有一个列表视图,就像你有一个购物车(第一个活动),用“商店”(第二个活动)中的元素替换其空白区域;所以你从另一个去,反过来几次)。 因此,在前进和后退(通过Intent())时,突然重新初始化单例,使应用程序崩溃。奇怪的事实是我没有在logcat上得到任何错误,它只记录了一个点,即singlotn调用它的init()方法,使得app在之后崩溃了。另一个奇怪的事情是,我第一次实现这个东西它没有问题,但现在我已经实现了其他几个活动,并添加了所有的图形元素(活动和列表元素的背景,许多drawables等)我得到这个问题(只做前面说过的操作)。 (我不知道这个东西是否相关)我的应用程序使用了J. Feinstein的滑动菜单(在几个活动中已经被强制执行,例如带有可扩展列表的那个)和ActionBarSherlock(我使用自定义操作栏) ,所以我给自己的actionBar布局充气。每个活动都有其滑动菜单,每次在每个活动的onCreate()方法上创建。

您需要帮助我的代码或日志事件的每一部分,只需询问,我就会把它放在这里。

非常感谢你的帮助,我真的很困惑这个问题。

1 个答案:

答案 0 :(得分:0)

我想你想要一些“会话”用户。

我不知道确切的问题,但是当系统内存不足时,Android系统可能会破坏静态数据。

您可以做的是将一些值(用户,时间戳)存储为首选项值或持久数据(文件,数据库)。另一种方法当然是将所需的用户数据从一个活动传递到另一个活动。