0%

View 动画又叫补间动画,只适用于 View,相关的类在 android.view.animation 包下。View 动画作用的是 View 的影像,原始 View 的位置没有变化。

阅读全文 »

SharedPreferences 是 Android 系统提供的一种数据持久化的方式,用于保存简单的数据。

SharedPreferences 是一个接口,实现类是 SharedPreferencesImpl。使用 synchronized 对象锁保证线程安全,非进程安全

阅读全文 »

Android 是基于组件的应用设计模式,组件的运行要有一个完整的 Android 工程环境。在这个环境下,Activity、Service 等系统组件才能够正常工作,而这些组件并不能采用普通的 Java 对象创建方式,而是要有它们各自的上下文环境。Context 是维持 Android 程序中各组件能够正常工作的一个核心功能类。

阅读全文 »

ThreadLocal 是线程局部变量,每个线程都有独立的一个变量。通过创建对象副本,达到线程安全的目的。
它并不是用来解决在多线程并发环境下资源共享问题的,而是用来提供线程内的局部变量,这样每个线程都自己管理自己的局部变量,别的线程操作的数据不会对当前线程产生影响。

阅读全文 »

进程是操作系统资源分配和调度的基本单位,而线程是处理器任务调度和执行的基本单位。
线程寄宿在进程当中,线程的生命周期直接被进程所影响,而进程的存活又和其优先级直接相关。线程的调度受时间片轮转优先级等因素影响。

多线程编程复杂原因之一在于其并行的特性

阅读全文 »

CAS 的全称为 Compare-And-Swap(对比交换)。是一条 CPU 的原子指令,其作用是让 CPU 先进行比较两个值是否相等,然后原子地更新某个位置的值。其实现方式是基于硬件平台的汇编指令,就是说 CAS 是靠硬件实现的,JVM 只是封装了汇编调用,那些以 Atomic 开头的类便是使用了这些封装后的接口。

阅读全文 »

synchronized 是 Java 中的关键字,用来实现多线程同步,是一种非公平的同步锁。当线程访问同步代码或同步方法时,必须先获得对象的监视器,退出或抛出异常时必须释放对象的监视器。

阅读全文 »

Java 虚拟机

  1. Java 虚拟机运行的是 Java字节码
  2. Java 虚拟机基于。 基于栈的机器必须使用指令来载入和操作栈上数据,所需指令更多。
阅读全文 »

ArrayMap 是一种键值映射的数据结构,比 HashMap 更节省内存。它通过数组来存储映射关系,一个 int 数组存储 key 的 hash code,一个 Object 数组存储 key 和 value,可以避免在插入元素到 map 时创建额外的对象。

阅读全文 »