Android Adb 命令之 logcat
本文记录了一些 Logcat 常用的命令。比如过滤日志,输出到文件等。
本文记录了一些 Logcat 常用的命令。比如过滤日志,输出到文件等。
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 中的关键字,用来实现多线程同步,是一种非公平的同步锁
。当线程访问同步代码或同步方法时,必须先获得对象的监视器,退出或抛出异常时必须释放对象的监视器。
ArrayMap 是一种键值映射的数据结构,比 HashMap 更节省内存
。它通过数组来存储映射关系,一个 int 数组存储 key 的 hash code,一个 Object 数组存储 key 和 value
,可以避免在插入元素到 map 时创建额外的对象。