动脑笔记
文章平均质量分 79
只影1
多年Android开发者经验,追求技术
展开
-
12-属性动画源码分析
属性动画主要使用 ObjectAnimator 和 ValueAnimator 两个类,其中ObjectAnimator 是 ValueAnimator 的子类,ObjectAnimator 对 ValueAnimator 做了一层封装,实现了对属性值的自动改变,api调用更加简略我们一般使用 ObjectAnimator 的静态方法去创建 ObjectAnimator 对象。例如上面的,我们来看下它里面是如何创建的1.调用了 ObjectAnimator 的私有构造方法首先设置目标对象然后设原创 2022-06-26 00:22:11 · 241 阅读 · 0 评论 -
5-Canvas
Canvas.save会将一个Matrix矩阵保存到一个栈中,当调用Canvas.restore时,会将栈顶的Matrix出栈,并将其应用到当前Canvas,Matrix是一个3*3的矩阵,他里面有9个参数,cosX -sinX translateXsinX cosX translateY0 0 scale其中,sinX和cosX,代表的是旋转角度的sin和cos值。注意旋转的正方向是顺时针方向。translateX和translateY代表的是平移的X和Y。scale代表的是缩放的大小。Canvas.原创 2022-06-26 00:20:30 · 84 阅读 · 0 评论 -
App启动(三)Activity的创建
上一篇我们讲到AMS在被远程调用attachApplication方法后,会在attachApplicationLocked方法里远程调用ApplicationThread的bindApplication创建Application对象。实际上attachApplicationLocked方法不止进行了Application对象的创建在创建完Application对象后还进行了Activity的创建,我们这次多看一点它的源码1.ActivityManagerService#attachApplication原创 2020-06-24 00:17:14 · 605 阅读 · 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 · 809 阅读 · 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 · 4372 阅读 · 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 · 376 阅读 · 0 评论 -
View绘制流程的开启
上一篇文章《Activity的创建》中我们说到了创建后会调用其生命周期,而我们的方法一般这么写我一般会使用方法设置的界面布局,今天我们就看下它做了什么显然自己并没有对其做处理,而是交给了方法处理,方法返回的是中的全局变量,它是窗口类型。是一个抽象类,在Android中它唯一的子类是,也就是说Activity的全局变量必定是类型的。我们看下是如何被创建的。我们在上一篇文章《Activity的创建》讲到了Activity是在的创建的,而在创建Activity后,会调用方法将和与绑定,而就在该方法里我们创建了原创 2020-06-24 00:18:35 · 215 阅读 · 0 评论