oWeiLi12
围黎
2016-08-12 02:52
采纳率: 50%
浏览 4.3k
已采纳

安卓APP置于后台,时间久了,保存在单例或者application的值被清空掉

安卓APP置于后台,时间久了,保存在单例或者application的值被清空掉。
    我自己的解决方案:在Activity中。用onRestoreInstance()跟onSaveInstance()
                                 ,可是这边遇到的问题就是,里面存的值只能是string、int、arra                    
                                                            ylist等,而HashMap就不能传递。
  麻烦哪个大神给个答案了额,因为这是做每个安卓app都会遇到的问题。谢谢了!!
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • zero172
    zero172 2016-08-12 03:44
    已采纳

    对于状态的保存我一般是使用xml,因为现在android对于内存的管理在慢慢加强,一些长时间没有使用的线程会被清除出内存,
    所以app被置于后台后如果用户太长时间没有操作,系统很有可能会将此app的线程清除掉,这样的话,保存的状态就没有了.
    而用xml的话,因为是文本信息,所以不会有这样的问题.

    点赞 评论
  • oWeiLi12
    围黎 2016-08-13 12:46

    你好!你是说直接写在本地吗,用数据库存储或者sharepreference???

    点赞 评论
  • liuxian13183
    刘兆贤 2016-08-24 03:36

    这个可以理解下,安卓内存的回收规则,你最好通过相关规则让你的app跟当前页面app是同一优先级即优先级为0,这样你的app数据就比较难被回收,
    除非内存实在吃紧,那出现这种情况也是可以理解的嘛。

    点赞 评论
  • liuxian13183
    刘兆贤 2016-08-24 03:37

    请关注我最新一篇博客,关于AMS讲解里面有写这样的规则

    点赞 评论

相关推荐