消息机制概述 Android消息机制主要是指Handler的运行机制以及Handler所附带MessageQueue和Looper的工作过程。Handler主要作用是将一个任...
消息机制概述 Android消息机制主要是指Handler的运行机制以及Handler所附带MessageQueue和Looper的工作过程。Handler主要作用是将一个任...
复用和回收 复用的好处:避免为表项视图绑定数据,创建表项视图。 子item的绘制交给LayoutManager去处理。 fill LinearLayoutManager#fi...
介绍 简化了应用程序内各组件间、组件与后台线程间的通信。优点:开销小,代码更优雅,发送和接收端解耦。本地广播:麻烦,效率不高,传递的数据是实体类,需要序列化,传递成本高。 基...
使用 导包 基本使用 配合Retrofit使用 注意页面关闭需要解绑,避免内存泄漏。 Observable源码解析 Observable#subscribe 被观察者通过cr...
分发流程 ViewGroup.dispatchTouchEvent -> ViewGroup.onInterceptTouchEvent -> View.dispatchTo...
View的加载 Activity关联window ActivityThread#performLaunchActivity 创建和初始化DecorView Activity#...
进程和线程区别? 进程是资源分配的最小单位,线程是CPU调度的最小单位。进程间互不干扰,相互独立。线程可以用来共享数据。进程是运行中的程序,线程是进程的内部的一个执行序列。 ...
1 什么是Binder? 从IPC角度来说, Binder 是 Android 中特有的一种跨进程的通信方式 Binder 可以理解成一种虚拟的物理设备,设备驱动是/dev/...
散列表 定义:通过散列函数把元素的键值映射为下标,然后将数据存储在数组中对应下标的位置。当我们按照键值查询元素时,我们用同样的散列函数,将键值转化数组下标,从对应的数组下标的...
缓存 使用到内存缓存,磁盘缓存。内存缓存:防止应用重复将图片读入到内存,造成内存资源浪费。磁盘缓存:防止应用重复的从网络或者其他地方下载和读取数据。 缓存key 缓存源码在E...
依赖库 基本用法 过程 创建request 执行加载 回调刷新UI 源码分析 Glide#with 获得RequestManager:请求管理类,创建RequestBuild...
666666
2020-08-13这是我第一个标题 我是谁我在哪你们谁能给我打个电话
设计模式 构建者模式 构建者模式特点:将构建复杂对象的过程和它的部件解耦,使构建过程和部件的表示隔离。Retrofit使用build内部类链式调用创建Retrofit对象。 ...
只是对网络请求做了一个封装,但是不做具体的网络请求,网络请求由okHttp做的。讲解版本: 简单使用 整体流程 Build设计模式初始化Retrofit对象。根据不同平台初始...
HEAD动态添加 请求体数据加密 通过自定义拦截器捕获到请求进行加密,响应进行解密,以Base64加解密为例。Base64加解密工具 自定义拦截器 URL重定向 更换网络请求...
核心 Dispatcher 负责调度任务。异步请求有两个队列,就绪和运行队列。线程池执行执行队列的任务,队列满了就切换到就绪队列。当执行队列里面有任务执行完后,会把任务从运行...
主线流程源码分析 常规使用 源码解析 同步请求 RealCall类调用execute方法 dispatcher作用:加入和移除同步请求。 异步请求 1.RealCall调用e...
概念 链表的插入,只需要上一个节点的指针指向这个新增的节点,新增的节点指向下一个节点。删除类似操作。 链表当前节点只知道下个节点是谁,也并非连续存储,随机访问元素时需要将整个...
基本概念 数组是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。随机访问时间复杂度O(1),添加和删除时间复杂度O(n)。添加和删除最好的情况是添加...