Android静态对象生命周期

Android静态对象生命周期

我正在创建事件搜索应用程序,我们在另一个屏幕中填充一个屏幕设置搜索条件,然后用户可以从第3个屏幕编辑搜索条件并转到第4个屏幕。

为了实现上述任务,我使用静态对象来记住应用程序周围的值,我不需要做任何额外的事情。

但我担心如果关于静态对象生命周期在android如果低内存发现android删除静态对象???

由于android支持多任务处理,如果用户切换到另一个应用程序并且当用户回来应用程序开始疯狂时,静态对象在多任务时被删除??? 任何的想法 ??并建议通过单例方法保持静态对象是更好的方法???


慕的地8271018
浏览 668回答 3
3回答

蓝山帝景

嗯,Singleton模式也基于使用静态变量,所以实际上你将处于相同的位置。虽然静态方法在大多数情况下都可以工作,但是在某些情况下,当内存已满并且另一个活动在应用程序移动到下一个屏幕之前占据前景时,可能会发生这种情况,您的活动进程可能会被终止而您会丢失静态值。然而,Android提供了一些在状态之间保持值或传输它们的选项,例如:使用Intent,您可以将搜索条件从活动传递到活动(类似于Web http请求)使用应用程序首选项,您可以保存值并在需要它们的活动中检索它们使用sqlite数据库,您可以将它们保存在表中并稍后检索它们如果您只需要保存活动状态,以便在重新启动时,字段将填充其先前选择的值,您可以实现onSaveInstanceState()活动方法 - 请注意,不建议在状态持久性活动之间使用此方法。通过查看谷歌代码或其他开源Android应用程序中的aegis-shield源代码树,您可以获得偏好,意图和sqlite数据库使用的一些代码示例。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android