- 1、本文档共40页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
视频秒开功能中界面绘制原理解析及调优实战android系统view层次view懒加载方式LinearLayout,RelativeLayout,FrameLayout等常用Layout的嵌套渲染性能onMearsure、onLayout、onDraw秒开开发中,针对性的优化View层次系统级别,windowmanagerservice(WMS),surface,windowmanager,opengl应用级别,viewRoot,measure ,layout,drawlayout inspector调试view问题演示demo Activity WMS ViewRootImplView性能优化一些方式懒加载ViewStub指向的布局文件解析inflate并替换掉当前ViewStub本身,并不是完全意义上的替换(与include标签还不太一样),替换时,布局文件的layout params是以ViewStub为准,其他布局属性是以布局文件自身为准。问题:addView嵌套性能结果LinearLayout:2FrameLayout:2RelativeLayout:64Hierarchy Viewer非root手机怎么办?(/romainguy/ViewServerViewServer)三个点大致代表三个过程Green?比50%的View快Yellow?在慢的50% View里Red?属于整个树中最慢的一些view使用这个工具需要注意的点结果只能参考,不是反应真实的性能(CPU)CPU状态影响,需要取平均值相对的值,需要结合看,红色不一定意味着是有问题的(参考)/studio/profile/hierarchy-viewer.html如何触发整个viewroot的绘制ViewRootActivityThreadhandleResumeActivityWindowManagerGlobaladdViewViewRootImlsetViewMeasure过程View的三种测量模式:UNSPECIFIED:父容器不对View有任何限制,要多大给多大。EXACTLY: 父容器已经检测出View所需要的精确大小,这个时候View的大小就是SpecSIze所指定的值。他对应于LayoutParams中的match_parent和具体的数值这两种模式。AT_MOST:父容器指定了一个可用大小SpecSize。View的大小不能超过这个值,它对应于LayoutParams的wrap_content。(例如:父布局width或者height设置一个具体值,或者match_parent,子布局设置为wrap_content。此时子布局的最大width或者height就是父布局的width或者height)。使用这种测量模式的View,设置的一定是wrap_content。MeasureSpecMeasureSpec通过将SpecMode和SpecSize打包成一个int值来避免过多的对象内存分配,共32位的int值,高2位代表SpecMode,低30位代表SpecSizeMeasureSpec 很大程度上决定了一个View的尺寸规格。 之所以说是很大程度是因为这个过程还受父容器的影响, 因为父容器影响View的MeasureSpec的创建过程。在测量中系统会将View的Layoutparams根据父容器所施加的规则转化成对应的MeasureSpec。 然后在根据这个measureSpec来测量View的宽高。Measure过程ViewViewGroup注意:wrapcontent抽象类ViewGroupmeasureChildWithMargins分析Linearlayout的measure为啥linearlayout如果有weight也会measure两次分析Relativelayout的measurefirstsecondthirdView复用测量数据小结view布局的原则(不影响层级的情况下,尽量不要用relativelayout,如果布局复杂,优先减少层次,可以用relativelayout) LinearLayout中的weight属性也会导致两次测量RelativeLayout的子View如果高度和RelativeLayout不同,则会引发效率问题,当子View很复杂时,这个问题会更加严重。如果可以,尽量使用padding代替margin。OnLayout布局,排列viewViewViewGroupOnDraw不要在里面创建对象为啥canvse就能画图DisplayListDisplay List的本质是一个缓冲区,它里面记录了即将要执行的绘制命令序列。优点:1.绘制窗口的下一帧时视图的UI没有发生变化,那么就不必执行与它相关的Canvas
您可能关注的文档
- 考试系统项目采购需求情况.docx
- 职业健康安全管理体系相关信息及要求(申请方填写).pdf
- 职业健康安全管理体系认证业务范围.pdf
- 职业健康检查委托协议-甲方(委托方):地址:.doc
- 职业卫生知识-目录-第一节职业危害因素与职业病.pptx
- 职业危害防治责任告知书.doc
- 职业学校学生定岗实习协议(范本).doc
- 职业安全卫生集体合同-(范本).doc
- 职业接触评估 - manula.pptx
- 职业生涯教育体系构建-张振笋.ppt
- 医学研究统计方法综合运用与结果表达03医学论文中常见统计学错误.pptx
- 医学代谢组学技术与研究系列讲座02ROC曲线分析.pptx
- 冰雪舞蹈与数字媒体艺术的结合论文.docx
- 2025年摄影师(初级)职业技能鉴定试卷:摄影作品版权登记与保护.docx
- 2025年事业单位教师招聘政治学科专业知识试卷(政治思想).docx
- 2025年日语能力测试N2级阅读专项试卷:日语阅读与语法巩固.docx
- 2025年西班牙语DELEC9级口语实战试卷:2025年备考策略.docx
- 2025年无损检测员(中级)无损检测行业标准试卷.docx
- 2025年高考文学类文本阅读(小说)复习.pdf
- 2025年医保知识考试题库及答案(医保谈判药品价格谈判)试卷.docx
最近下载
- (完整版)学校考试A3试卷模板.pdf
- 垃圾分类知识竞赛题库及答案解析(100题).docx
- 2025年浙江省温州市龙湾区中考一模语文试题(含答案) .pdf VIP
- 设备投放合作协议范本6篇.docx
- 初中地理六年级第二学期期末试卷及答案_沪教版_2024-2025学年.docx VIP
- 关于落实中小学德育工作指南实施方案.docx VIP
- 网络稿件的标题制作要点.ppt
- CJJT149-2021城市户外广告和招牌设施技术标准.docx VIP
- 华医继续教育儿童用药风险点挖掘及管理实践题库答案.docx VIP
- 精品解析:2025年四川省泸州市龙马潭区二模数学试题(解析版).docx VIP
文档评论(0)