Android Singleton什么时候被销毁?

时间:2017-03-07 11:13:25

标签: java android singleton

即使活动被完全摧毁,单身人士还能活下来吗?我有一些参考Android位置管理器,它们调用服务来做GPS的东西,它工作正常一两个小时(即使应用程序最小化并且屏幕关闭)但是一段时间后更新将停止ping,我有查看了其他一些Stack Overflow线程,我看到有关Singleton是否保持活动状态或者如果系统需要内存将会被销毁的相互矛盾的响应。

如果单身人士不是长时间保持参考的好方法,那么替代方案是什么?

2 个答案:

答案 0 :(得分:1)

单身人士的生活取决于你初始化它的内容。您可以使用Activity初始化它,只要活动在那里,它就会保持活动状态。

要将其保持在应用程序级别,请使用Application Context代替Activity Context

来实例化单身人士

<强>更新

替代方案是使用SQLite DB(第一优先级)或SharedPreferences(如果存储大量数据则抛出内存异常)。

如果你想在一次发布中使用一些数据,那么Singleton方法简单方便。

答案 1 :(得分:0)

每个应用程序都以与OSGi容器类似的方式启动 当应用程序启动时,然后创建静态值,当你调用getInstance时会发生同样的事情,一旦app.onDestroy被调用,所有内存都会被释放,并且单核被破坏...