Java 虚拟机在执行 Java 程序的过程中会把内存划分为若干个不同的数据区域。共分为程序计数器、Java 虚拟机栈、本地方法栈、Java 堆、方法区五种,相关知识点已在表格进行总结。
阅读全文
缓存策略是为了避免重复加载带来的效率消耗和流量消耗,进行优化的一种方法。缓存策略的知识点有:算法原理,实现类 LruCache 和 DiskLruCache 的使用方法和底层实现。
阅读全文
Android 是消息驱动型系统,其消息机制通过 Handler 、 Looper 、 MessageQueue 组成,其中,Handler 作为上层接口,Looper 、 MessageQueue 提供底层支持。同时,由于 Looper 是采用 ThreadLocal 来存储的,所以本篇笔记也有 ThreadLocal 类的相关使用和原理记录。
阅读全文
什么是内存泄漏由于 Java GC 机制通过对象是否可达(即 Roots 对象与目标对象直接是否存在引用链)判断对象是否可回收,所以,当对象已经不再使用,但仍为可达对象(存在引用链)时,GC 并不会回收这些对象,即发生内存泄漏的情况。
阅读全文
IPC,Inter-Process Communication,进程间通信。因 Android 为不同的进程分配了独立虚拟机,不同虚拟机在内存分配上有不同的地址,访问同一个类对象时会产生多个副本,造成数据不同步。故在多进程间通信时,需要使用特殊的方式进行通信,即 IPC 机制。知识点有:多进程相关知识、使用 IPC 的原因、Android 系统中 IPC 的方式、Messenger、AIDL,思维导图已提供知识点总览。阅读本文需要了解 Service 中绑定服务的相关知识。
阅读全文