美文网首页
Android anr和oom

Android anr和oom

作者: Super_me14 | 来源:发表于2017-08-18 16:29 被阅读31次

anr

引发anr原因

  • antivity所有生命周期回调都是在主线程中操作的
  • service默认在主线程中操作的
  • BroadcastReceiver中的onReceive回调执行在主线程中
  • 没有关联子线程的looper也是执行在主线程中的
  • asynctask除了doInbackground都是执行在主线程中

解决anr

  • 使用asynctask处理IO操作
  • 使用thread和handlerThread提高优先级
  • 使用handler来处理工作线程的耗时任务
  • 避免activity中的oncreate和onresum的耗时任务

oom

引发oom原因

  • 正在使用的内存加上当前需要申请的内存超过了虚拟机的最大内存限制造成oom
  • 内存泄漏导致gc无法回收掉不再使用的对象造成内存被一直占据。

解决oom

  • 显示图片不加载大图 显示缩略图
  • 及时释放bitmap c区的内存不仅仅是java区内存
  • inbitmap属性重新使用原来bitmap的内存区域
  • 捕获异常
  • listview convertview lru三级缓存机制 避免ondraw执行对象创建
  • 避免使用多进程

相关文章

  • Android anr和oom

    anr 引发anr原因 antivity所有生命周期回调都是在主线程中操作的 service默认在主线程中操作的 ...

  • Android优化总结

    极力推荐文章:欢迎收藏Android 干货分享 1.OOM和崩溃优化 1.2 ANR优化 ANR的产生需要满足三个...

  • Android ANR & OOM

    1. ANR ANR全名Application Not Responding,也就是“应用无响应”。如果你的应用程...

  • Android 内存泄漏

    【Android 内存泄漏】 引用: ★★★ 【知识必备】内存泄漏全解析,从此拒绝ANR,让OOM远离你的身边,跟...

  • Android面试复习-ANR,OOM

    一.ANR 1.什么是ANR Application Not Responding,页面无响应的对话框 2.发生A...

  • Android面试——OOM及ANR

    一、什么是oom? OOM就是当前占用的内存加上我们申请的内存资源超过了Dalvik虚拟机的最大内存限制就会抛出的...

  • Android优化总结

    目录介绍 1.OOM和崩溃优化1.1 OOM优化1.2 ANR优化1.3 Crash优化 2.内存泄漏优化2.0 ...

  • OOM ANR及一些优化方案

    做Android也有几年了,关于OOM和ANR的问题在面试和工作中也遇到了很多次,对二者的理解和一下解决办法很散乱...

  • ANR系列

    ANR(0)---理解Android ANR的触发原理ANR(1)---理解Android ANR的信息收集过程A...

  • Android性能优化—布局优化技巧

    前面几篇文章在前面几篇文章当中, Android 内存泄漏和OOM分析(一) Android 内存泄漏和OOM分析...

网友评论

      本文标题:Android anr和oom

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