SQLite优化记录 + 资源及时释放以免OOM -- 又被Java忽悠一次

       今天很恼火, 大致状况是这样的, 程序直接进入数据库写操作InsertDBActivity中,异步完成80W条数据的插入, 不会OOM; 当我在进入InsertDBActivity之前先来了个用户介绍页(滑动预览6张图片), 然后换了个高清的背景图,够炫,但是悲剧的一幕发生了   在log中可以明显的看到 数据插入到40W多的时候 OOM了! 什么原因呢? 我debug追踪了好久,代码没怎么改动呀,,任何地方都断点看了, 就是老是出现内存溢出, 我就纳闷了·······  只有一种情况, 我加的这些代码中有问题! 可是我也没加什么东西呀?   不对··  有6张介绍页!

      不会吧? 6张介绍页加起来内存才占了不到1M,, 这个引起的oom?  与测试机MI2的内存比起来显然微不足道, 但是没有其他地方动过啊! 哦  还有一张高清的背景图·· 但是我看了下工程背景文件大小, 也不到1M,, 怒了··········

       遂········

      1.将介绍页屏蔽掉, 

      2.将高清背景图去掉,

      3.将数据量保持在80W . 

      再走一遍  果然, 没事嘞~~    但是······

      还原1,2,   将数据量再提升至80W, 内存溢出;

      还原1,2,   将数据量降至20W, 不溢出;

      还原1,2,   将数据量提升至40W, 内存溢出······   我去   有完没完啊

     然后就乖乖的检查代码执行流程, 查找一切可以导致内存溢出的可能···············

     跟踪到activity的跳转一行, 我怎么看都像少了点什么, 但又说不上来, activity不是压栈管理嘛, 也就没网这上面想, 大爷的, 问题就出在这里············

     当activity入栈处于非栈顶,activity中的资源未消失,等待出山,只有等到

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值