HandlerThread

参考文献:Android多线程(HandlerThread篇) 1. 简介 HandlerThread 有那些特点: HandlerThread 本质上是一个线程类,它继承了 Thread; HandlerThread 有自己的内部 Looper 对象,可以进行 looper 循环; 通过获取 Ha

Handler 详解

参考文献: Android多线程(Handler篇) Android Handler消息机制原理最全解读 1. 基础使用 安卓不允许在子线程中直接更新 UI,我们需要通过 handle 来实现在子线程更新 UI 使用步骤: 创建 Handler 对象,实现 handlMessage() 方法 创建

android AsyncTask

1. 基本使用 我们需要创建一个类来继承 AsyncTask,AsyncTask 有三个泛型 Params,执行 AsyncTask 需要传入的参数,可用于在后台任务中使用。 Progress,后台任务执行时,若需在界面显示进度,这个泛型为进度的单位。 Result,任务执行完毕后,若需对结果进行返

MediaSession 框架

参考文献:MediaSession 框架全解析 MediaSession 这种媒体框架由 MediaBrowser(媒体浏览器) 和 MediaBrowserService(媒体浏览器服务) 两部分组成。主要作用是规范了媒体服务和界面的通信接口,达到了完全解耦,可以自由、高效进行不同的媒体的切换。

volatile 关键字

volatile 关键字 参考文献:面试官最爱的volatile关键字 1. volatile 关键字的作用 保证了不同线程对该变量操作的内存可见性 禁止指令重排序 2. java 内存模型 Java 虚拟机规范试图定义一种 Java 内存模型(JMM), 来屏蔽掉各种硬件和操作系统的内存访问差异,

基础 

LayoutInflater.inflate() 方法参数详解

参考文献:三个案例带你看懂LayoutInflater中inflate方法两个参数和三个参数的区别 1. 三个参数的 inflate 方法 public View inflate(@LayoutRes int resource, @Nullable ViewGroup root, boolean a

android Build 类

参考文献:Android之Build类.(Android获取手机配置信息 ) 1. 类概述 android.os.Build:从系统属性中提取设备硬件和版本信息。 2. 内部类 Build.VERSION 各种版本字符串 Build.VERSION_CODES 目前已知的版本代码的枚举类 3. 常量

Context

参考文献:Android Context完全解析,你所不知道的Context的各种细节 1. Context 类型 context 继承结构: Context 的继承结构还是稍微有点复杂的,可以看到,直系子类有两个,一个是 ContextWrapper,一个是 ContextImpl。那么从名字上就

类锁和对象锁

1. 对象锁 修饰在非静态方法或者锁对象为普通对象。 多个线程调用同一个对象的同步方法会阻塞,调用不同对象的同步方法不会阻塞。(java 对象的内存地址是否相同) // 非静态方法 public synchronized void obj3() { } // 普通对象 synchroni

 

单例模式

参考文献:单例模式 1. 单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象