
Kotlin进阶
Kotlin进阶学习
我要看一下山顶的风景
Stand out or Get out.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Kotlin进阶-11-Activity启动后的视图加载分析
1、介绍Kotlin进阶-9-setContentView源析+Window、Activity、DecorView关系Kotlin进阶-10-Activity的启动流程前面两节分别介绍了Activity的启动流程,还有我们的Activity上有了PhoneWindow之后我们怎么将Activity的xml布局添加到这个PhoneWindow之上的。接下来我们将当Activity启动之后,怎么将我们的Window(PhoneWindow是Window的实现类)添加到Activity上的,..原创 2020-06-03 10:27:39 · 657 阅读 · 0 评论 -
Kotlin进阶-10-Activity的启动流程
1、介绍Activity的启动过程分为两种,一种是根Activity的启动过程,另一种是普通Activity的启动过程。根Activity指的是应用程序启动的第一个Activity,因此根Activity的启动过程一般情况下也可以理解为应用程序的启动过程。普通Activity指的是除应用程序启动的第一个Activity之外的其他Activity。根Activity的启动过程比较复杂,因此这里分为 3 个部分来讲,分别是 :1、Launcher 请求 AMS 过程;2、AMS 到 Appli原创 2020-05-27 17:23:46 · 1463 阅读 · 0 评论 -
Kotlin进阶-9-setContentView源析+Window、Activity、DecorView关系
1、介绍在我们Android可见的窗口中,我们每一个Activity都包含一个Window对象,Window对象通常由PhoneWindow实现 PhoneWindow:将Decoriew设置为整个应用窗口的根View。是Window的实现类。它是Android中的最基本的窗口系统,每个Activity 均会创建一个PhoneWindow对象,是Activity和整个View系统交互的接口。 DecorView:顶层视图,将要显示的具体内容呈现在PhoneWindow上. Dec...原创 2020-05-13 15:59:43 · 1060 阅读 · 0 评论 -
Kotlin进阶-8-View的事件分发详解
1、介绍View的事件分发机制,其实就是手指触摸屏幕造成的事件(点击、滑动、长按等)的传递规则,而传递对象就是MotionEvent,View的事件分发机制其实就是研究MotionEvent的传递规则。点击事件的分发过程由三个很重要的方法共同完成:dispatchTouchEvent()、onInterceptTouchEvent()、onTouchEvent()注意:onIn...原创 2020-05-09 17:51:41 · 830 阅读 · 0 评论 -
Kotlin进阶-7-阻塞队列+线程池
6、阻塞队列阻塞队列常用于生产者和消费者的场景,生产者是往队列中添加元素的线程,消费者是从队列中拿元素的线程。阻塞队列就是生产者存放元素的容器,而消费者也只从容器中拿元素。6.1、常见阻塞场景阻塞队列和普通队列不同地方在于,它会阻塞线程,而常见的阻塞场景有如下两种:1、当队列中没有数据的情况下,消费者端的所有线程都会被阻塞(挂起),直到有数据放入到队列中。2、当队列中...原创 2020-05-08 16:32:38 · 5452 阅读 · 1 评论 -
Kotlin进阶-6-重入锁+synchronized+volatile
1、介绍进程:进程是操作系统结构的基础,是程序在一个数据集合上运行的过程,使系统进行资源分配和调度的基本单位。进程可以被看作程序的实体,同样,它也是线程的容器。2、线程的状态Java线程在运行的声明周期中,可能处于6种不同的状态:New:新创建状态-----线程被创建,但是还没调用start()方法。Runnable:可运行状态-----一旦调用了st...原创 2020-05-07 17:42:11 · 12819 阅读 · 2 评论 -
Kotlin进阶-5-View的滑动与动画
目录1、View介绍1.1、View.getTranslationX()和View.getX()1、View介绍在Android 中View的位置由四个属性来决定:left、top、right、bottom。left: View 左上顶点相对于父容器的长度 top: View 左上顶点相对于父容器的高度 right: View 右下顶点相对于父容器的长度 bo...原创 2020-04-28 19:01:21 · 1485 阅读 · 0 评论 -
Kotlin进阶-4-Bitmap压缩与缓存
* 1.质量压缩像素点 ABCD压缩后AAAA* 原理:通过算法抠掉(同化)了图片中的一些某个些点附近相近的像素,达到降低质量介绍文件大小的目的。 * 减小了图片质量 * 注意:它其实只能实现对file的影响,对加载这个图片出来的bitmap内存是无法节省的,还是那么大。 * 因为bitm...原创 2020-04-26 17:23:27 · 2608 阅读 · 0 评论 -
Koltin进阶-3-HandlerThread + IntentService
目录1、HandlerThread1.1、使用1.2、源码1、HandlerThreadHandlerThread 继承于Thread,其实他就是一个线程,与普通线程不一样的地方是它在内部加载了Looper,方便我们为该线程创建一个Handler。1.1、使用1.2、源码public class HandlerThread extends Thread {...原创 2020-04-23 14:12:43 · 695 阅读 · 0 评论 -
Koltin进阶-2-源码实现-AsyncTask
目录1、背景2、简介2.1、详解2.2、使用1、背景在Android中,除了Thread扮演线程角色以外,还有AsyncTask、HandlerThread、IntentService同样可以担当起异步线程的任务,它们各自有自己的适用场景。AsyncTask:封装了Handler和线程池,它主要是为了方便开发者在子线程中更新UI;HandlerThread:简化了...原创 2020-04-22 19:29:36 · 389 阅读 · 0 评论 -
Kotlin进阶-1-消息传递机制-Handler
ThreadLocalMap是自定义的哈希映射,仅适用于维护线程局部值。 没有操作导出到ThreadLocal类之外。 该类是包私有的,以允许声明Thread类中的字段。 为了帮助处理非常长的使用寿命,哈希表条目使用WeakReferences作为键。 但是,由于不使用参考队列,因此仅在表空间不足时,才保证删除过时的条目。...原创 2020-04-21 14:51:42 · 3554 阅读 · 0 评论