源码剖析
文章平均质量分 87
刘兆贤
好好学习,天天向上
展开
-
Android系统消息分发体系
Handler、Looper、Message、MessageQueue之间的关系(基于Android API 26)安卓系统设计的消息分发体系,不仅在应用层广泛应用;而且在底层也是使用这个体系,与Binder一起进行消息分发,因此熟悉这个体系是十分必要的。1、ActivityThread初始化时,执行它的main方法,通过Looper.prepareMainLooper方法,初始化...原创 2018-04-03 00:53:25 · 2031 阅读 · 0 评论 -
Android源码剖析之Framwork层消息传递(Wms到View)
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处!前面讲过Wms、Ams与Activity的一系列交互,包括创建过程、消息传递、窗口展示等,紧接上篇介绍最终的实现者-窗口和View,上篇对窗口已经有了比较多的介绍,本篇我们再对View再更深一步的了解。首先明确下View的功能,主要用来展示画布即交互的图片背景等,而且承接各......原创 2016-08-30 18:02:57 · 3156 阅读 · 0 评论 -
Android源码剖析之Framework层进阶版(Wms窗口管理)
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处!上一篇我们主要讲了Ams,篇幅有限,本篇再讲讲Wms,即WindowManagerService,管理窗口的服务。主要负责窗口的创建、删除、状态等与手机交互的事情,与Ams配合使用,在SystemServer中创建,用来保持窗口层级关系方便SurfaceFlinger绘制屏幕,和传递...原创 2016-08-26 18:57:37 · 2981 阅读 · 1 评论 -
Android源码剖析之Framework层升级版(窗口、系统启动)
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处!看本篇文章之前,建议先查看:Android源码剖析之Framework层基础版前面讲了framework的整体层次和基础定义与服务,接下来我们讲讲窗口的创建,底层与应用层界面的交互和管理。一、窗口的创建 上一篇我们讲了三种窗口的类型,本篇接着讲窗口的创建过程,拿Activity创建窗口为例此步骤优先...原创 2016-08-22 19:14:35 · 2761 阅读 · 0 评论 -
Android源码剖析之Framework层基础版(窗口、linux、token、Binder)
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处! 关于Framework,就是应用层底下的控制层,离应用层最近,总想找个机会,写写WindowMangerService和ActivityManagerService(注意非控件,而是指一类服务)以及其他一些东西,对底层做一个更为全面的认识。而很早以前,写过一篇文章,来简述Android系..................原创 2016-08-19 17:53:50 · 2835 阅读 · 1 评论 -
Android源码剖析之Framwork层后记篇(硬件消息传递、apk管理、输入法框架、编译过程)
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处! 既然写到后记篇,就代表本系列到此为止,暂时告一段落;其他一些Manager随后有时间再补,就像源码的一些翻译一样,有时间总会补上的,同时也希望大家一如既往的喜欢,直言不讳的提出宝贵意见。 后记将讲述输入模块和编译系统内容,以及对整个系统的总结。原创 2016-09-01 12:06:18 · 2765 阅读 · 3 评论 -
Java高级之虚拟机垃圾回收机制
博客出自:http://blog.csdn.net/liuxian13183,转载注明出处! All Rights Reserved !区别于C语言手动回收,Java自动执行垃圾回收,但为了执行高效,需要了解其策略,更好的去应用。以下用HotSpot虚拟机为例,选取几个有意思的参数讲一下1、默认GC时间为总时间的1%。也就是说GC线程设置有超时时间,防止卡死或过多妨碍主线程。2、最高最低内存空闲比原创 2016-05-27 19:07:59 · 2609 阅读 · 0 评论 -
Android中级第十一讲之MotionEvent的分发、拦截机制分析
最近在研究事件分发机制,一方面在看内核剖析,一方面找测试小例子,最终找到,内容如下,——下载地址咱们就借这个小例子来讲一些问题一开始只关注了onTouch事件,应用于Window层,用于对操作事件进行判断,处理onTouch的Down、Move、Up等事件,根据移动的坐标确定点击的控件;后面,在处理Scrollview嵌套PageView,PagerView又嵌套Listview的场景时,...原创 2016-04-11 16:59:11 · 2265 阅读 · 0 评论 -
Java高级之虚拟机加载机制
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处!前两节我们探讨了Java类内存模块,文件结构,以及Jvm的回收机制,今天我们再来探讨一下它的文件加载机制,都知道Jvm要加载的是二进制流,可以是.class文件形式,也可以是其他形式,总之按照它加载的标准来设计就不会有太大问题,以下主要就机制和标准两个问题分析一番首先来说Java类文件的加载机制,跟变原创 2016-05-31 22:33:09 · 2578 阅读 · 0 评论 -
Android源码剖析之Framework层实战版(Ams管理Activity启动)
本文来自http://blog.csdn.net/liuxian13183/,引用必须注明出处!讲到实战,就不得不拿两个例子来说明,本篇想拿的是应用最广泛的两个:Ams和Wms,一个管理activity,一个管理窗口,而前面我们已经讲了不少,本篇不再赘述。关于Ams对activity的管理,无非这几个方面:启动哪个activity、物理按键对activi...原创 2016-08-24 18:03:26 · 5429 阅读 · 1 评论 -
Android系统如何管理自己内存的?
安卓是基于Linux2.6内核的操开源作系统,安卓比Linux更智能在于:进程结束后,安卓会把程序(并非进程)保留在内存中,直到内存不够再释放。在安卓看来,内存不能空着,留程序缓存在后台不会占用CPU-只保留运行状态,二次打开更加快速-不用再次打开界面资源;所以安卓的内存在于有效利用。系统会设置一个阈值,当系统内存低于此值时,便会按优先级来回收,一直达到另外一个稳定的阈值。优先级由低到高依次如下:前台进程:如当前界面运行的“愤怒的小鸟”、“网易新闻”等可见进程:如界面的Widget、输入法和时钟等原创 2014-02-26 18:29:09 · 3149 阅读 · 0 评论 -
Android高级之系统介绍
博客出自:http://blog.csdn.net/liuxian13183,转载注明出处! All Rights Reserved ! 做了很长时间安卓,一步步的深入,就觉得怎么这么多知识,梳理一下会更好些。Android是什么系统,优点在哪儿?Android系统是美国一名工程师,Andy Rubin创造,经Google的补充、推广,成为世界上一种家喻户晓的系统。原创 2013-04-18 23:40:42 · 2226 阅读 · 0 评论