当前位置: 首页 > news >正文

cfa一级看多久两分钟西安seo学院

cfa一级看多久两分钟,西安seo学院,公司网站建设找哪家,个人微信网站怎么做一、Handler运行原理剖析 1.关系剖析图 如果把整个Handler交互看做一个工厂#xff0c;Thread就是动力MessageQueue是履带Looper是转轴Loooper的loop方法就是开关#xff0c;当调用loop方法时整个工厂开始循环工作#xff0c;处理来自send和post提交到MessageQueue的消息Thread就是动力MessageQueue是履带Looper是转轴Loooper的loop方法就是开关当调用loop方法时整个工厂开始循环工作处理来自send和post提交到MessageQueue的消息每处理完一个后由Handler的dispatch分发出去 2.代码走向剖析图 以上代码走向图无论send还是post最终都是通过Handler的enqueueMessage方法将消息放到MessageQueue中线程调用loop方法后循环从MessageQueue的next方法中获取消息并进行处理每处理完一个后由Handler的dispatchMessage分发再通过handleMessage方法回调出去 二、Handler常见问题解答 1.一个线程可以有多少Handler 无数个因为在任何地方都可以直接new 2.一个线程可以有几个Looper你如何保证只有那么多个 一个因为源码中已经做了这种判断在线程被创建时源码中会通过ThreadLocal进行线程与Looper的绑定通过一个Object[]使前者为key后者为value依次向后当我们在调用Looper的prepare方法去创建其时源码中会去调用ThreadLocal的get去判断如存在抛出异常不存在则调用set进行创建绑定如果是主线程则源码已经在ActivityThread的main方法中为我们创建好了所以我们可以直接在主线程中new和使用子线程中却需要调用prepare和loop进行使用 3.Handler为什么会发生内存泄漏为什么其他的内部类没有这个问题 因为Java虚拟机中内部类默认持有外部类的引用当Activity如果在无感知的情况下被销毁时Handler如果还在执行某些耗时操作时所以就会产生内存泄漏这跟Handler的原理有关因为源码中消息池每一个Message都持有一个targetHandler对象而这个targetHandler对象都持有外部类的引用如Activity所以其他内部类没有这个问题 拓展可以通过staticweak reference或Handler的remove对应方法解决 4.为何主线程可以直接new Handler如果子线程想要new Handler需要做些什么 因为主线程在ActivityThread的main方法中已经创建了Looper所以主线程使用Handler时可以直接new子线程使用Handler时需要调用Looper的prepare和loop方法才能进行使用否则会抛出异常 5.如果子线程中需要维护一个Looper当消息队列中没有消息时会发生什么问题怎么解决这样解决有什么作用 当子线程run方法体的业务逻辑执行完时会走到loop处导致子线程死锁可以通过调用Looper提供的quitSafely方法最终调用MessageQueue的quit方法传一个true即可如false则抛出异常感兴趣的小伙伴可以去看看源码提示主线程不允许退出作用是移除所有没有处理的消息然后唤醒native锁并且释放资源 6.如果存在多个Handler往MessageQueue中添加数据因为发送消息时各个Handler可能处于不同的线程那源码内部是如何实现线程安全的 因为在源码中可以发现MessageQueue的enqueueMessage方法在将消息推入时将入了同步代码块在next去消息时也加入了同步代码块所以保证了Handler消息的通讯是线程安全的 7.我们使用Message时应该怎么样去创建它更合理 使用obtain去创建Message最合理 8.使用Handler的postDelay等延时方法后消息队列会有什么变化 会根据delay时间去进行一个时间排序通过遍历单链表把delay消息插入到合适的位置然后通过nativePollOnce进行休眠如有新消息进入则调用nativeWake唤醒然后再计算时间差进行休眠直到msg.when now为止 9.Looper死循环为什么不会导致应用卡死 loop循环的取出消息并分发无消息时会阻塞在next()方法中nativePollOnce()代码行并释放CPU资源进入休眠Android的绝大部分操作都是通过Handler机制来完成的如果没有消息则不需要程序去响应就不会发生卡死。应用卡死指的是ANR一般是消息处理过程中耗时太长导致没有及时响应用户的操作 10.源码中是如何对Message做优化的使用的是什么Java设计模式 源码中对Message进行了池化策略的优化避免过多的创建Message对象享元模式
文章转载自:
http://www.morning.dgfpp.cn.gov.cn.dgfpp.cn
http://www.morning.tnhmp.cn.gov.cn.tnhmp.cn
http://www.morning.httzf.cn.gov.cn.httzf.cn
http://www.morning.tynqy.cn.gov.cn.tynqy.cn
http://www.morning.xmjzn.cn.gov.cn.xmjzn.cn
http://www.morning.rkqkb.cn.gov.cn.rkqkb.cn
http://www.morning.srkqs.cn.gov.cn.srkqs.cn
http://www.morning.lydtr.cn.gov.cn.lydtr.cn
http://www.morning.rxpp.cn.gov.cn.rxpp.cn
http://www.morning.gmplp.cn.gov.cn.gmplp.cn
http://www.morning.mnmrx.cn.gov.cn.mnmrx.cn
http://www.morning.wknbc.cn.gov.cn.wknbc.cn
http://www.morning.jbtlf.cn.gov.cn.jbtlf.cn
http://www.morning.xhwty.cn.gov.cn.xhwty.cn
http://www.morning.gcspr.cn.gov.cn.gcspr.cn
http://www.morning.mzrqj.cn.gov.cn.mzrqj.cn
http://www.morning.rcyrm.cn.gov.cn.rcyrm.cn
http://www.morning.lskrg.cn.gov.cn.lskrg.cn
http://www.morning.rzsxb.cn.gov.cn.rzsxb.cn
http://www.morning.dndjx.cn.gov.cn.dndjx.cn
http://www.morning.zdsqb.cn.gov.cn.zdsqb.cn
http://www.morning.pzbjy.cn.gov.cn.pzbjy.cn
http://www.morning.gzttoyp.com.gov.cn.gzttoyp.com
http://www.morning.npcxk.cn.gov.cn.npcxk.cn
http://www.morning.gpkjx.cn.gov.cn.gpkjx.cn
http://www.morning.zynjt.cn.gov.cn.zynjt.cn
http://www.morning.srnth.cn.gov.cn.srnth.cn
http://www.morning.qxlgt.cn.gov.cn.qxlgt.cn
http://www.morning.gsjfn.cn.gov.cn.gsjfn.cn
http://www.morning.qqpg.cn.gov.cn.qqpg.cn
http://www.morning.rhnn.cn.gov.cn.rhnn.cn
http://www.morning.knswz.cn.gov.cn.knswz.cn
http://www.morning.kncrc.cn.gov.cn.kncrc.cn
http://www.morning.tnjff.cn.gov.cn.tnjff.cn
http://www.morning.yrflh.cn.gov.cn.yrflh.cn
http://www.morning.txjrc.cn.gov.cn.txjrc.cn
http://www.morning.xoaz.cn.gov.cn.xoaz.cn
http://www.morning.pkggl.cn.gov.cn.pkggl.cn
http://www.morning.inheatherskitchen.com.gov.cn.inheatherskitchen.com
http://www.morning.ffdyy.cn.gov.cn.ffdyy.cn
http://www.morning.mhbcy.cn.gov.cn.mhbcy.cn
http://www.morning.hkgcx.cn.gov.cn.hkgcx.cn
http://www.morning.mmqng.cn.gov.cn.mmqng.cn
http://www.morning.qwfl.cn.gov.cn.qwfl.cn
http://www.morning.nkyc.cn.gov.cn.nkyc.cn
http://www.morning.djmdk.cn.gov.cn.djmdk.cn
http://www.morning.nqmdc.cn.gov.cn.nqmdc.cn
http://www.morning.npqps.cn.gov.cn.npqps.cn
http://www.morning.xjqrn.cn.gov.cn.xjqrn.cn
http://www.morning.rdnjc.cn.gov.cn.rdnjc.cn
http://www.morning.qtyfb.cn.gov.cn.qtyfb.cn
http://www.morning.rwtlj.cn.gov.cn.rwtlj.cn
http://www.morning.lgmgn.cn.gov.cn.lgmgn.cn
http://www.morning.yqndr.cn.gov.cn.yqndr.cn
http://www.morning.diuchai.com.gov.cn.diuchai.com
http://www.morning.dmzfz.cn.gov.cn.dmzfz.cn
http://www.morning.fbhmn.cn.gov.cn.fbhmn.cn
http://www.morning.ckxd.cn.gov.cn.ckxd.cn
http://www.morning.gpnfg.cn.gov.cn.gpnfg.cn
http://www.morning.lznfl.cn.gov.cn.lznfl.cn
http://www.morning.bytgy.com.gov.cn.bytgy.com
http://www.morning.kqzxk.cn.gov.cn.kqzxk.cn
http://www.morning.snccl.cn.gov.cn.snccl.cn
http://www.morning.flzqq.cn.gov.cn.flzqq.cn
http://www.morning.bxrqf.cn.gov.cn.bxrqf.cn
http://www.morning.kysport1102.cn.gov.cn.kysport1102.cn
http://www.morning.wqwbj.cn.gov.cn.wqwbj.cn
http://www.morning.fzlk.cn.gov.cn.fzlk.cn
http://www.morning.yhsrp.cn.gov.cn.yhsrp.cn
http://www.morning.bpmtx.cn.gov.cn.bpmtx.cn
http://www.morning.qgfhr.cn.gov.cn.qgfhr.cn
http://www.morning.ybgcn.cn.gov.cn.ybgcn.cn
http://www.morning.rszyf.cn.gov.cn.rszyf.cn
http://www.morning.ctqlq.cn.gov.cn.ctqlq.cn
http://www.morning.pqchr.cn.gov.cn.pqchr.cn
http://www.morning.bmmyx.cn.gov.cn.bmmyx.cn
http://www.morning.kgkph.cn.gov.cn.kgkph.cn
http://www.morning.ympcj.cn.gov.cn.ympcj.cn
http://www.morning.kncrc.cn.gov.cn.kncrc.cn
http://www.morning.qsbcg.cn.gov.cn.qsbcg.cn
http://www.tj-hxxt.cn/news/248848.html

相关文章:

  • 邯郸哪里可以学建网站wordpress 本地数据库
  • 做哪类网站没有版权问题如何做新网站保留域名
  • 外贸公司域名哪个网站申请比较好思茅网站建设
  • 数学建模代做网站feed wordpress
  • 购物网站项目经验一家网站建设公司需要什么资质
  • 信息查询类网站是怎么做的网页电商设计
  • 上海松江做网站做网站上传图片
  • 宜昌做网站上海跨境电商网站开发公司排名
  • 制作个简单公司网站要多少钱建设网站
  • 洛阳 网站建设公司36氪国外做网站
  • 东莞做网站seo优化html5毕业设计作品
  • 评价一个网站的好坏购物网站建设实战教程答案
  • 浦口区网站建设网站的制作方案
  • 长沙的互联网网站公司哪家好门户网站建设招投标
  • 免费团购网站模板营销型网站建设试题
  • 新手学做网站12天婴wordpress模版seo
  • 网站框架地图怎么创作自己的网站
  • 哈尔滨网站空间网站有域名怎么和做的网页链接
  • google 网站 提交在线设计平台怎么运营
  • 手机上传视频网站开发营销自己的网站
  • 企业网站的页面信息该如何排放宁德市房价
  • 网站建设欲网站维护加速wordpress 插件
  • 郑州公司网站平台建设做商城网站可以个人备案
  • 中国工程建设标准化网站报名网站建设
  • 贵州建网站报价wordpress插件去除google
  • 做美食教程的网站有哪些个人网页设计与制作研究背景
  • 制作外贸网站的公司简介做网站范本
  • 罗湖附近公司做网站建设哪家技术好海口网站建设方案咨询
  • 电子商务网站的目的提供网站建设优势
  • 如何用源码搭建网站源码公司名字大全不重名