Android Framework
zjmdp
Android研究中……
展开
-
从源码中Activity 的定义来理解 Activity
首先我们来看下源码中源于Activity的定义:public class Activity extends ContextThemeWrapper implements LayoutInflater.Factory2, Window.Callback, KeyEvent.Callback, OnCreateContextMenuListene原创 2012-07-02 12:24:45 · 5125 阅读 · 1 评论 -
Android中Surface和SurfaceView的一些理解和总结
什么是Surface?简单地说Surface对应了一块屏幕缓冲区,每个window对应一个Surface,任何View都是画在Surface上的,传统的view共享一块屏幕缓冲区,所有的绘制必须在UI线程中进行什么是SurfaceView?说SurfaceView是一个View也许不够严谨,然而从定义中 public class SurfaceView extends View {原创 2012-07-02 12:31:30 · 10614 阅读 · 1 评论 -
Android 4.1 (Jelly Bean) 源码编译过程总结
昨天google官方发布了Android 4.1 Jelly Bean的源码,本人第一时间将源码托了下来(托了一个通宵),今天又花了一早上时间编译ROM并刷到自己的Galaxy Nexus中,虽说Android 4.1已经用了一个多星期了,但是作为Android开发者和爱好者,体验源码下载、编译、刷机的整个过程还是很有意义的,然而在编译和刷机过程中也遇到了一些问题,晚上抽了点时间将整个过程总结一下原创 2012-07-11 23:10:52 · 23212 阅读 · 18 评论 -
Android中按键消息的派发过程及源码分析
Android中消息的整体派发过程:接收消息——消息处理前端——窗口管理系统派发消息——窗口进行消息处理以上过程中前三步都在WmS中完成,按键消息直接发送给当前窗口,而触摸消息则根据触摸坐标位置来匹配所有窗口,并判断坐标落到哪个窗口区域中,然后把消息发送给相应的窗口。对于按键消息还会涉及到“生理长按”的检测,比如一直按住某个键,那么会产生一些列的按键消息,然而第1个和第2个消息之间往往会间隔较原创 2012-07-01 14:49:04 · 12224 阅读 · 2 评论 -
Android中mesure过程详解 (结合Android 4.0.4 最新源码)
如何遍历并绘制View树?之前的文章Android中invalidate() 函数详解(结合Android 4.0.4 最新源码)中提到invalidate()最后会发起一个View树遍历的请求,并通过执行performTraersal()来响应该请求,performTraersal()正是对View树进行遍历和绘制的核心函数,内部的主体逻辑是判断是否需要重新测量视图大小(measure),是原创 2012-07-09 09:39:31 · 8262 阅读 · 4 评论 -
Android中layout过程详解 (结合Android 4.0.4 最新源码)
上一篇文章Android中mesure过程详解 (结合Android 4.0.4 最新源码)介绍了View树的measure过程,相对与measure过程,本文介绍的layout过程要简单多了,正如layout的中文意思“布局”中表达的一样,layout的过程就是确定View在屏幕上显示的具体位置,在代码中就是设置其成员变量mLeft,mTop,mRight,mBottom的值,这几个值构成的矩形原创 2012-07-11 09:19:34 · 11710 阅读 · 2 评论 -
Android中invalidate() 函数详解(结合Android 4.0.4 最新源码)
invalidate()函数的主要作用是请求View树进行重绘,该函数可以由应用程序调用,或者由系统函数间接调用,例如setEnable(), setSelected(), setVisiblity()都会间接调用到invalidate()来请求View树重绘,更新View树的显示。 注:requestLayout()和requestFocus()函数也会引起视图重绘原创 2012-07-04 09:33:06 · 40875 阅读 · 8 评论 -
Android 学习-序
掐指一算工作已经三个月了,三个月的时间让我适应了从学校到职场的过渡,很庆幸我可以从事自己喜欢的工作,而且我所在的公司也是当初最想加入一家互联网公司。在三个月时间里我得到了周围同事许许多多的帮助,充分感受到了公司开放、活跃的工作氛围,并且在这里我能充分感受到自己作为一只刚踏入职场的菜鸟每天在一点一滴的进步,每一天对我来说都是充实的。这三个月中我接触到了许多未涉及过的东西,例如 Android,原创 2012-06-18 13:00:20 · 1289 阅读 · 0 评论 -
Android中draw过程分析 (结合Android 4.0.4 最新源码)
经过对View树的measure和layout过程后,接下来将结合前两步得到的结果对View树进行绘制,之前以为measure过程是measure、layout和draw三部曲中最复杂的一步,在仔细分析draw过程后才发现自己之前的论断有失准确性。不过从整体来看,draw过程的逻辑是比较清晰的,和measure和layout过程十分相似,而本文将从整体来介绍draw的整个流程,至于其中的细节可能会原创 2012-07-28 11:07:30 · 20357 阅读 · 7 评论