美文网首页Android资料移动开发首页投稿(暂停使用,暂停投稿)
解决Android中活动被回收,活动中临时数据丢失问题

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

作者: 大话程序 | 来源:发表于2016-05-06 08:37 被阅读482次

    问题描述:当用户在一个活动中输入了一些信息后,然后又启用了另外一个活动,则刚刚输入信息的活动则进入了停止状态,当系统内存不足时,系统会回收掉停止状态的活动,当用户点击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对象中,取出并赋值就可以了。

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/zrxjrttx.html