在调用谷歌地图后,我的应用程序丢失了静态数据

时间:2015-10-27 18:36:47

标签: android google-maps

我正在开发一个包含商店列表的应用程序。对于每个商店,使用google服务API(v2)我可以打开并显示地图并向商店位置添加标记。 一切正常。我可以回到列表并选择另一家商店。 所有数据都存储在静态数组列表中。

问题: 当我在谷歌地图上时,如果我点击标记,然后点击按钮获取路线(由谷歌地图实施),它将打开谷歌地图应用程序并显示路线。然后,当我回来时,我的数据会丢失!所有的arraylists都变为null。

想法?谢谢。

1 个答案:

答案 0 :(得分:1)

根据Activity lifecycle

  

活动基本上可以存在三种状态:

     

(...)

     

<强>停止

     

活动被另一项活动完全遮挡了   活动现在处于“背景”)。停止的活动也仍然存在   alive(Activity对象保留在内存中,它维护所有   州和会员信息,但没有附加到窗口   经理)。但是,它不再对用户可见,而且可以   在其他地方需要内存时被系统杀死。

因此,当您的Activity根据此定义停止时,如果设备没有足够的内存(或其他任务需要它),或者如果在“设置”菜单的“开发人员选项”中选择了“不检查活动“(在用户离开活动时销毁活动),您的活动将被杀死,所有静态字段都将丢失。

为避免这种情况,您可能希望确保保存活动的状态,以便稍后恢复。看看http://developer.android.com/intl/es/training/basics/activity-lifecycle/recreating.html