Android 源码分析
Happy 2010
这个作者很懒,什么都没留下…
展开
-
Anroid 编译过程分析
Anroid 编译过程分析该文档主要是在mtk android L 6582 基础上面来介绍编译过程.一.如何编译1.初始化编译环境执行source build/envsetup.sh 命令 或者 . build/envsetup.sh.这一点mtk 和google 原生的编译方式是一致的2.选择要编译的工程执行lunch 命令,由于我们拿到的mtk source原创 2017-02-14 14:11:03 · 1647 阅读 · 0 评论 -
View和ViewGroup 的measure过程
View和ViewGroup 的measure过程视图有3大流程,measure,layout,draw,即测量,布局和绘制.我们先分析第一个流程measure.1.View 的measure过程View 的measure过程是由其measure()来完成,这个方法是final类型的,也就是不能被之类重写,同事measure()会转调onMeasure(),所以我们暂时重点原创 2017-02-14 14:56:12 · 438 阅读 · 0 评论 -
View与ViewGroup layout 过程
View与ViewGroup layout 过程这儿过程相比measure要简单一点,我们先从View 的layout()看起,ViewGroup的layout主要还是判断一些条件之后调用View 的layout()View.javapublic void layout(int l, int t, int r, int b) { if (DBG_SYSTRACE_LAY原创 2017-02-14 14:53:55 · 1693 阅读 · 0 评论 -
Android L SystemUI 流程简要分析
目录Android L SystemUI 流程简要分析1.SystemUI 启动流程1.1概述1.2启动流程分析1.3 SystemUI启动的主要的服务 1.4 SystemUI和StatusBarManagerService的交互2. 下滑状态栏的响应流程2.1 通知部分NotificationStackScrollLayout的展开流程2.2 Status...原创 2017-05-19 16:06:58 · 6968 阅读 · 2 评论 -
Android P wakeup 亮屏流程
目录1. 点亮屏幕的几种方式:1.1 应用通过PowerManager 的wakeup()接口1.2 应用创建的窗口带有WindowManager的 FLAG_TURN_SCREEN_ON 的flag1.3 应用申请wakelock时候,添加 ACQUIRE_CAUSES_WAKEUP 的flag1.4 通话的时候,通过距离感应器来点亮屏幕1.5 调用PowerMan...原创 2019-11-28 19:04:12 · 5084 阅读 · 1 评论 -
Android M 设置流程简要分析
这份笔记主要是记录设置的大致流程,以便在后续项目中需要修改设置的时候以便快熟理解大的思路. 首先从入口开始,也就是从第一个Activity开始,在AndroidManifest.xml里面找到android.intent.category.LAUNCHER,这个activity-alias 就是要找的入口,其实这只是一个别名真正想要看的是它的android:targetActivity...原创 2017-02-14 09:58:37 · 613 阅读 · 0 评论 -
Android 4.4 Settings 应用初步分析
一次偶然要在设置里面增加一个菜单,需要修改到settings_headers.xml 文件(res/layout/xml) 文件,所以就觉得要看一下这个流程.就做一下笔记,语言组织能力不行啊.分析Android 源码的时候导入单个应用的时候一般是会有很多错误的,因为需要导入系统编译之后生成的jar包才能消除eclipse 里面的哪些红色xx.1.Settings的UI2.流程分析...原创 2014-10-17 17:19:39 · 188 阅读 · 0 评论 -
View-MeasuerSepc
View-MeasuerSepcMeasuerSepc 是View 的一个内部类,在分析View 的测量(measuer)会出现这个类,这里先记录一下对MeasuerSepc的理解.MeasuerSepc可以理解为 一个32位的int 值,其中前2位表示mode(模式),后30位表示size(具体大小),通过将mode和size体现在一个int值里面来避免过多的对象内存分配.原创 2017-02-14 14:57:05 · 305 阅读 · 0 评论 -
Android 4.4 Settings 应用分析
一次偶然要在设置里面增加一个菜单,需要修改到settings_headers.xml 文件(res/layout/xml) 文件,所以就觉得要看一下这个流程.分析Android 源码的时候导入单个应用的时候一般是会有很多错误的,因为需要导入系统编译之后生成的jar包才能消除eclipse 里面的哪些红色xx.1.Settings的UI ...原创 2017-02-14 14:26:18 · 827 阅读 · 0 评论 -
Android 的消息机制(读书笔记)
1. Android 消息机制的概述Android 的消息机制主要就是指的Handler 的运行机制及Handler 附带的Looper和MessageQueue的工作过程. Handler 的主要作用就是将一个操作切换到Handler对应的Looper所在进程来执行.由于Android 要求对UI的访问要在main进程(UI进程)来做.实际中Handler的作用:就是主要用来在子原创 2017-02-14 14:17:43 · 407 阅读 · 0 评论 -
mtk 主题功能学习笔记
1. 如何添加一套自己的主题这里以Jb3为例:添加资源 在mediatek/frameworks/themes/ 下面添加一个新的主题文件夹.可以参看原有的主题theme-res-mint/theme-res-mocha/theme-res-raspberry/.只要将对应图片资源放到对应的文件夹下面就可以了. 系统编译时, theme-res-xxx下面android.原创 2017-02-14 14:20:21 · 1111 阅读 · 2 评论 -
android加载第三方图标机制分析
android加载第三方图标机制分析 系统如何获取图片等资源当我们调用Resources.java 来获取图片等资源的时候会调用getDrawable 方法, getDrawable最终把这还是使用loadDrawable 方法来处理.Resources.javapublic Drawable getDrawable(int id) throws NotFoun原创 2017-02-14 14:22:06 · 503 阅读 · 0 评论 -
语音信箱流程分析
语音信箱流程分析该文档主要是基于Android JB 版本,和可能和KK版本有一定的差异.如果在KK上面有不一样的地方,也可以参考JB上面的思路来分析相关的问题 以下分析是基于mtk的源码,不是Android 原始的code.我会把mtk 相关的code 提取出来,以便和Android 原生的code 对比. 如何配置语音信箱具体可以参考: FAQ04505 有些SIM原创 2017-02-14 14:28:00 · 4099 阅读 · 0 评论 -
Android动画机制源码分析(待完善)
Android动画机制源码分析本文着重讲解Android3.0后推出的属性动画框架Property Animation——Animator的相关源码分析概述3.0之前已有的动画框架——Animation存在一些局限性, Animation框架定义了透明度,旋转,缩放和位移几种常见的动画,而且控制的是整个View,实现原理是每次绘制视图时V转载 2017-02-14 14:50:15 · 823 阅读 · 0 评论 -
View 和ViewGroup 的draw流程
View 的draw流程View 的3大流程,measure,layout,draw 在上层都是从ViewRootImpl开始的.具体来说是从performTraversals开始的.由ViewRoot对象的performTraversals()方法调用draw()方法发起绘制该View树,值得注意的是每次发起绘图时,并不会重新绘制每个View树的视图,而只会重新绘制那些“需要重绘原创 2017-02-14 14:53:12 · 939 阅读 · 0 评论 -
ViewGroup 子类 LinearLayout 的measure 流程
ViewGroup 子类 LinearLayout 的measure 流程在笔记"View和ViewGroup 的measure过程"中已经提到ViewGroup没有执行具体的测量过程,只是调用child view 的measure()方法.这是因为ViewGroup之类太多,不好统一处理.实际是各个之类去重写onMeasure来自己处理的.下面主要是分析ViewGroup 子类 Line原创 2017-02-14 14:54:40 · 442 阅读 · 0 评论 -
View MeasureSpec 和LayoutParams关系
View MeasureSpec 和LayoutParams关系系统内部是通过MeasureSpec来给View 进行测量工作的,但是我们实际却是只用LayoutParams来设置的.这里我们就是分析2者直接的联系.其实View在测量的时候,系统会将LayoutParams在父容器的约束下转换成对应的MeasureSpec,然后根据这个MeasureSpec来确定View测量之后的高和原创 2017-02-14 14:56:43 · 783 阅读 · 0 评论 -
Android Activity 触摸屏事件派发机制和源码分析
Android Activity 触摸屏事件派发机制和源码分析之前查看View 和ViewGroup的源码的时候就得出结论,ViewGroup的触摸事件是从dispatchTouchEvent()开始,经过一序列判断和处理传递到View的dispatchTouchEvent().当时我们一般看到的页面都是Activity,Activity的触摸事件是怎么出来的呢?以下分析基于And原创 2017-02-14 14:57:56 · 444 阅读 · 0 评论 -
Android ViewGroup 触摸屏事件派发机制和源码分析
Android ViewGroup 触摸屏事件派发机制和源码分析Android 中不管是View 还是ViewGoup,触摸事件来的时候都是从dispatchTouchEvent开始的.其中dispatchTouchEvent()是View.java 的方法,ViewGroup 只是重写了这个方法.看ViewGroup的dispatchTouchEvent() 之前最好先看View原创 2017-02-14 14:59:16 · 374 阅读 · 0 评论 -
Android View 触摸屏事件派发机制和源码分析
Android View 触摸屏事件派发机制和源码分析最近参考Android SystemUI 的源码其中涉及到很多事件派发和处理相关的问题.早期感觉很复杂,后面有时间了通过结合log来分析渐渐有一定的理解.现在参考网络上面的文章自己也将这一方面的源码分析一下,同时写下来,以便然后回忆和加深理解.(基于mtk 的Android 5.1 系统)An原创 2017-02-14 14:59:51 · 492 阅读 · 0 评论 -
Android 类似未读短信图标显示数字效果的分析
类似未读短信图标显示数字效果的分析 之前一直以为是应用本身在对图标进行修改,看了源码之后发现其实主要的工作并不是应用自己完成的,主要的工作在是launcher里面完成的.关于系统里面类似未读短信的具体处理流程如下,原理一个应用要实现这个效果,就要在自己有未读的消息的时候发送一个广播告诉系统我有未处理的事件了(例如:短信,电话和邮件等),原创 2017-02-14 15:01:27 · 572 阅读 · 0 评论