Android 存储性能优化
从入门到精通 · 30章
01
存储基础
Android存储体系概览,内部存储与外部存储的区别,分区与文件系统介绍。
02
SharedPreferences优化
SP的底层原理(XML解析与缓存),跨进程安全与ANR问题,推荐替代方案(DataStore)。
03
SQLite数据库优化
SQLite事务与WAL模式,索引优化与查询计划分析,ORM框架选型(Room vs GreenDAO)。
04
文件存储优化
大文件读写策略(NIO vs MappedByteBuffer),缓存策略(LRU Cache),序列化方案对比。
05
MMKV原理与实战
MMKV的mmap内存映射机制,多进程支持与性能对比,在项目中替换SP的实践。
06
Room数据库深入
Room的编译时注解与代码生成,Flow与LiveData的响应式查询,迁移与测试策略。
07
DataStore替代SP
DataStore的两种实现(Preferences与Proto),协程集成与数据一致性,与SP的性能对比。
08
图片存储优化
Glide与Coil的磁盘缓存机制,Bitmap复用与内存缓存策略,WebP与AVIF格式选择。
09
网络缓存策略
OkHttp缓存拦截器原理,ETag与Last-Modified机制,离线缓存架构设计。
10
数据库迁移与版本管理
Room的Migration与fallbackToDestructiveMigration,SQLite版本升级最佳实践,数据备份与恢复。
11
ContentProvider与存储访问
ContentProvider的跨进程数据共享,Storage Access Framework (SAF) 使用,MediaStore API最佳实践。
12
文件监控与同步
FileObserver原理与使用,inotify机制在Android上的应用,增量同步与冲突解决。
13
加密存储
Android Keystore系统,AES与RSA加密在存储中的应用,EncryptedSharedPreferences与SQLCipher。
14
大数据量列表优化
Paging 3库的原理与使用,数据库分页查询优化,DiffUtil与AsyncListDiffer。
15
日志存储优化
Logcat原理与限制,自定义日志框架(Logger、Timber),日志轮转与压缩策略。
16
APK瘦身与资源存储
AndResGuard资源混淆,WebP与SVG矢量图,动态下发与按需加载。
17
存储性能分析工具
Profiler与Systrace分析I/O,StrictMode检测磁盘操作,Matrix-IOCanary的使用。
18
多线程与存储并发
SQLite的线程安全与连接池,协程在数据库操作中的应用,读写锁与死锁避免。
19
缓存架构设计
多级缓存策略(内存-磁盘-网络),缓存穿透、击穿、雪崩的应对,TTL与LRU实现。
20
Room与Flow深度结合
Room配合Kotlin Flow实现响应式UI,冷流与热流的选择,背压处理策略。
21
Proto DataStore实战
Protocol Buffers定义与编译,类型安全的数据存储,与Proto DataStore的集成。
22
大型文件下载与存储
DownloadManager的使用与限制,分片下载与断点续传,校验与完整性检查。
23
数据库查询优化
EXPLAIN QUERY PLAN分析,复合索引与覆盖索引,查询性能基准测试。
24
存储安全与合规
Android 11/12/13/14存储权限变更,Scoped Storage适配,GDPR与数据最小化原则。
25
跨进程存储方案
Binder与ContentProvider的性能对比,AIDL传递大数据,共享内存(MemoryFile)的使用。
26
数据库备份与恢复
Room数据库的备份策略,SQLite的.backup命令,云同步与本地恢复。
27
存储性能基准测试
使用Benchmark库测试存储操作,自定义Gradle Task进行自动化测试,结果分析与优化。
28
混合存储方案
SQLite + MMKV + 文件系统的组合使用,冷热数据分离策略,存储分层架构设计。
29
存储优化实战案例
社交App的Feed流缓存优化,电商App的商品详情缓存,IM App的消息存储优化。
30
存储优化总结与展望
存储优化的核心原则,未来趋势(F2FS、EROFS),持续监控与自动化优化。