源码
文章平均质量分 91
只影1
多年Android开发者经验,追求技术
展开
-
View绘制流程的开启
上一篇文章《Activity的创建》中我们说到了创建后会调用其生命周期,而我们的方法一般这么写我一般会使用方法设置的界面布局,今天我们就看下它做了什么显然自己并没有对其做处理,而是交给了方法处理,方法返回的是中的全局变量,它是窗口类型。是一个抽象类,在Android中它唯一的子类是,也就是说Activity的全局变量必定是类型的。我们看下是如何被创建的。我们在上一篇文章《Activity的创建》讲到了Activity是在的创建的,而在创建Activity后,会调用方法将和与绑定,而就在该方法里我们创建了原创 2020-06-24 00:18:35 · 228 阅读 · 0 评论 -
App启动(三)Activity的创建
上一篇我们讲到AMS在被远程调用attachApplication方法后,会在attachApplicationLocked方法里远程调用ApplicationThread的bindApplication创建Application对象。实际上attachApplicationLocked方法不止进行了Application对象的创建在创建完Application对象后还进行了Activity的创建,我们这次多看一点它的源码1.ActivityManagerService#attachApplication原创 2020-06-24 00:17:14 · 628 阅读 · 0 评论 -
App启动(二)AMS在Application创建过程中的调度
上一篇文章中我们说到ActivityThread通过AMS的attachApplication方法将mAppThread对象关联到了AMS中,并且后面通过mAppThread对Application进行创建、生命周期的管理等。这次我们就研究下它是怎么做到上述这些的。首先我们继续看ActivityThread#attach方法搬过来public void attach(boolean system){ ... //获得IActivityManager实例,他是一个ActivityManag原创 2020-06-24 00:16:03 · 834 阅读 · 0 评论 -
App启动(一)Application的创建
大家都知道Java程序的入口是 main 方法,但在Android中我们只知道App启动从Application开始,而Android是基于Java的,本身也是从main方法开始的,而这个 main方法是在ActivityThread类的。下面我们就看下ActivityThread的main方法是如何工作的。1. ActivityThread #mainpublic static void main(String[] args){ ... //初始化Looper Looper.p原创 2020-06-24 00:15:01 · 4428 阅读 · 0 评论 -
Activity启动流程
一、创建Application首先 ActivityThread main()方法public static void main(String[] args){ ... //初始化Looper Looper.prepareMainLooper(); ... //实例化一个ActivityThread ActivityThread thread = new ActivityThread(); //这个方法最后就是为了发送出创建Applicati原创 2020-05-24 22:43:32 · 385 阅读 · 0 评论 -
MessageQueue源码解析
请看原文章作者https://www.cnblogs.com/jycboy/p/5786682.htmlMessageQueue1.变量12345678910111213141516private final boolean mQuitAllowed;//表示MessageQueue是否允许退出@SuppressWarnings("unused")private long mPtr; //mPtr...转载 2018-06-21 14:17:57 · 586 阅读 · 0 评论 -
EventBus源码分析-register和unregister方法
参考链接:https://blog.csdn.net/qq_38859786/article/details/80285705https://www.jianshu.com/p/e1d52c7f25811.register方法分析:先上源码public void register(Object subscriber) { Class<?> subscriberClass...原创 2019-01-09 00:08:53 · 950 阅读 · 0 评论 -
EventBus源码分析-post方法和postSticky
1.post方法源码分析先上源码public void post(Object event) { //PostingThreadState 保存着事件队列和线程状态信息 PostingThreadState postingState = currentPostingThreadState.get(); //获取事假队列,并将当期事件插入事件队列 List<Obj...原创 2019-01-09 13:58:55 · 1825 阅读 · 0 评论 -
Android事件分发机制
首先表明此文章是针对该https://blog.csdn.net/carson_ho/article/details/54136311#commentBox博客做了自己的总结理解Activity分析事件首先分发到Activity的dispatchTouchEvent()看源码2.1.1 源码分析 * 源码分析:Activity.dispatchTouchEvent() */...原创 2019-01-07 19:07:20 · 190 阅读 · 0 评论