0

对于以下问题,我会很感激。我正在编写一个与远程服务器通信的android应用程序,该应用程序带有登录屏幕,在用户登录后,我希望通过整个应用程序、用户信息、用户工作的部门等可以访问一些重要的信息,
在阅读了最好的实现之后,我决定通过扩展应用程序类来使用单例。这是一个例子。

public class UsuarioCustom extends Application {

 private Usuario usuario;
 private Location posicionActual;   
 private Delegacion department;
 private RutaCustom rutaActual;          

     //getters and setters ....
}

应用程序的要求之一是必须每 10 分钟发送一次用户的当前位置,因此该应用程序需要保持运行一段时间。

我正在测试应用程序,并且不时崩溃,显示应用程序已停止的窗口。

我调试了de应用程序,我意识到在某些时候android将我的单例类设置为null。我在网上读到这是android中的一个常见问题......

例如,如果我启动我的应用程序,然后将手机调到飞行模式,然后回到我的应用程序,你可以看到我的单例是如何为空的。

我在网上阅读了有关 android 上的单例类的信息,有人说最好使用 servive,但似乎官方的 android sdk 文档在这里缺少一些有用的信息。

我正在考虑将信息保存在 sqllite 上,所以每次我想使用我的单例类时,我都会检查是否为空,如果是,我会从 sql litte 重新加载它。

有人可以就处理该问题的最佳方法提供一些不错的提示吗?

非常感谢。

4

1 回答 1

0

After searching the web , I finally decided to save the important imformation on the sqllite. Seems like in an Android enviroment u can not trust that u can save data on memory for a long time, soon or later Android will delete the informatión even if you create a singleton by extending the Application class.

于 2012-12-13T17:15:07.560 回答