解决Android中活动被回收,活动中临时数据丢失问题

来源:互联网 发布:mac地址不合法 编辑:程序博客网 时间:2024/05/19 02:23

问题描述:当用户在一个活动中输入了一些信息后,然后又启用了另外一个活动,则刚刚输入信息的活动则进入了停止状态,当系统内存不足时,系统会回收掉停止状态的活动,当用户点击back键返回刚刚的活动时,由于活动重新创建故用户输入的信息就会丢失,为解决这一问题,以下方法解决:


使用Bundle对象存储数据

Activity中提供了一个onSaveInstance回调方法,这个方法的执行时机是在活动被回收之前调用。 protected void onSaveInstance(Bundle outState)

Bundle对象和Intent对象存储数据方法相似,Bundle对象存储数据时:使用putString 方法存储字符串,使用 putInt 方法存储整型数据,以此类推。存储数据是根据键值对存储的。



从Bundle对象中取出数据

Activity活动被回收,当再开启活动时则是被重新创建,会调用 onCreate 方法protected void onCreate(Bundle saveInstanceState) ,onCreate方法中携带了一个参数是Bundle对象,存储的数据就存在了这个Bundle对象中,取出并赋值就可以了。

阅读全文
0 0