摘要: 本文主要探讨能够触发performTraversals()执行的invalidate()、postInvalidate()和requestLayout()方法的流程。在调用这三个方法到最后执行到performTraversals()方法,涉及到到通过Choroegrapher请求Vsync信号,实 阅读全文
posted @ 2017-03-21 15:01 溪亭沥酒 阅读(6544) 评论(0) 推荐(1) 编辑
摘要: performTraversals方法会经过measure、layout和draw三个流程才能将一帧View需要显示的内容绘制到屏幕上,用最简化的方式看ViewRootImpl.performTraversals()方法,如下。 首先来说这三个流程的意义: performMeasure():从根节点 阅读全文
posted @ 2017-03-17 15:40 溪亭沥酒 阅读(2467) 评论(0) 推荐(1) 编辑
摘要: Activity、View、Window之间的关系可以用以下的简要UML关系图表示,在这里贴出来,比较能够帮组后面流程分析部分的阅读。 一、Activity的启动流程 在startActivity()后,经过一些逻辑流程会通知到ActivityManagerService(后面以AMS简称),AMS 阅读全文
posted @ 2017-03-09 18:47 溪亭沥酒 阅读(6181) 评论(0) 推荐(0) 编辑
摘要: 本文主要介绍Android的lowmemorykiller的oom_adj的相关概念,以及根据一些案例来阐述了解oom_adj对于做Android应用开发的重要意义。 一、lowmeorykiller中进程的分类以及各类进程的adj值 在Android的lowmemroykiller机制中,会对于所 阅读全文
posted @ 2017-03-02 16:49 溪亭沥酒 阅读(13991) 评论(1) 推荐(1) 编辑
摘要: 提起android的进程回收机制,大家所熟知的是Android的lowmemroykiller的机制。当系统可用内存低于某个阀值时,即会杀死这个阀值对应的Adj值的所有应用。但是本篇文章并为是要介绍Lowmemorykiller的机制,而是要搞清楚在未触发Android低杀机制时,Android是否 阅读全文
posted @ 2017-02-26 17:41 溪亭沥酒 阅读(6115) 评论(0) 推荐(1) 编辑