【Android】Activity的现场保护

当Activity被pause或者stop,这时Activity的运行状态仍然存在在内存中,这时就要进行现场保护,使得用户在重新打开Activity的时候直接回到刚刚的状态。除非内存中Activity状态的那块内存被系统其它程序覆盖,这时候唯有重新创建Activity。

 

如何进行现场保护:

 

重写onSaveInstanceState()方法。这样可以在系统将程序杀死之后保存部分信息,用Bundle对象保存。

当程序窗口重新启动,再使用与之配套的onRestoreInstanceState()方法再取出状态信息。

那么现场保护的信息存到哪里才可以在Activity下次被创建(即下次调用onCreate方法)的时候可以被取出?

1>写入到数据库中

2>写入到xml文件中

 

存在本程序的变量中,只有内存周期,很快被销毁。

 

所以,应该在onPause方法中,将状态信息保存到数据库。然后在onCreate方法中取出。

此条目发表在Android技术分类目录,贴了, 标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用*标注