在开发过程中,我们常常会来自定义View。它是用户交互组件的基本组成部分,负责展示图像和处理事件,通常被当做自定义组件的基类继承。那么今天就通过源码来仔细分析一下View是如何被创建以及在绘制过程中发生了什么。 创建 首先,View公有的构造函数的重载形式就有四种: View(Context con...
分类:
移动开发 时间:
2015-08-10 19:40:22
阅读次数:
135
Android 消息处理源码分析(1)http://blog.csdn.net/u012432475/article/details/46728669
继续接着分析剩下的类文件
Looper.java
public final class Looper {
final MessageQueue mQueue; //消息队列
final Thread mThread...
分类:
移动开发 时间:
2015-07-03 17:30:31
阅读次数:
134
上文实例讲解EventBus for Android介绍了EventBus的基本用法,本文将介绍EventBus的实现原理。EventBus的实现主要围绕两个函数register和post,下面分别介绍之。1 register(Object subscriber)功能
注册subscriber中以onEvent开头的方法
代码:private synchronized void register...
分类:
移动开发 时间:
2015-06-01 22:38:08
阅读次数:
231
在上一篇博客中Android源码分析–MediaServer源码分析(一),我们知道了ProcessState和defaultServiceManager,在分析源码的过程中,我们被Android的Binder通信机制中的各种复杂的类关系搞的眼花缭乱,接下来我们就以MediaPlayerService为例来分析一下Binder的通信机制。首先来回顾一下:
BpBinder和BBinder都是Andr...
分类:
移动开发 时间:
2015-03-29 12:21:59
阅读次数:
312
MediaServer中包括了系统中的许多重要的Server:
AudioFlinger:音频系统中的核心服务
AudioPolicyService:音频系统中关于音频策略的重要服务
MediaPlayerService:多媒体系统中的重要服务
CameraService:有关照相和摄像的重要服务
同时,分析MediaServer对于理解Android中的IPC机制能够提供较好的帮助。Android...
分类:
移动开发 时间:
2015-03-28 08:53:08
阅读次数:
734
在Android系统中的应用程序,与Java的应用程序相同,都是靠消息驱动,简单的说就是:有一个消息队列,我们可以不断的向这个消息队列中添加消息,并从中取出消息,处理消息。Android中与此工作相关的主要是由Handler,Looper以及Message来完成。
Looper类:为一个线程运行着一个消息循环,内部有一个消息队列,每一个线程只允许最多存在一个Looper;
Handler类:允许你向...
分类:
移动开发 时间:
2015-03-13 16:30:39
阅读次数:
208
在上一篇博文中我们进行了有关Zygote进程的分析,我们知道Zygote进程创建了一个重要的进程–system_server进程后就进入了无限循环中,之后Android系统中的重要任务就交给了system_server进程,作为zygote的嫡长子进程,system_server进程的意义非凡,今天我们来分析一下system_server进程。...
分类:
移动开发 时间:
2015-03-07 17:17:38
阅读次数:
207
众所周知,Android系统中存在着两个完全不同的世界:
1. Java世界,Google所提供的SDK就主要是针对这个世界的,在这个世界中运行的程序都是基于Dalvik虚拟机的Java程序。
2. native世界,也就是利用C或C++语言开发的程序。那么问题来了,Android系统具体是如何将这两个世界联系起来的,这就是关系到本篇博文所讲的Zygote进程。...
分类:
移动开发 时间:
2015-03-06 19:14:47
阅读次数:
279
转载请注明本文出自Cym的博客(http://blog.csdn.net/cym492224103),谢谢支持!
前言
最近工作比较忙,所以现在才更新博文,对不住大家了~!言归正传,我们来说说这个PagerSlidingTabStrip,它是配合ViewPager使用的导航栏,网易新闻就是用的这个导航,我们仔细观察这个导航栏不仅他是跟着ViewPager滑动而滑动,而且指示器还...
分类:
移动开发 时间:
2015-02-01 17:53:37
阅读次数:
1032
前言:
该篇文章来自一个开源项目android-open-project-analysis,该项目的目的是分析优秀开源项目的实现原理。在此项目中我分析的是ViewPagerIndicator ,其中涉及到了View的绘制机制,因此抽取出来,以便后期的其它Buddy分析类似的项目时可以直接引用,就不必再重复讲述这一块内容了。相同的,该开源项目单独建立了一个tech目录,用于放置那些公共的知识点,V...
分类:
移动开发 时间:
2015-01-12 11:05:31
阅读次数:
515