常规方案
确保IO操作发生在非主线程
Hook或者是AOP辅助
SharedPreferences相关
加载慢:初始化加载整个文件
全量写入:单次改动都会导致整体写入
卡顿:补偿策略导致
SharedPreferences替代者MMKV,github.com/Tencent/MMK…
mmap和文件锁保证数据完整
增量写入,使用Protocol Buffer
支持从SharedPreferences迁移
日志存储优化
大量服务器需要日志库支持
对于性能的要求:不影响性能,日志不丢失、安全
常规实现
每产生一个日志,写一遍到磁盘中:不丢失、性能损耗
开辟一个内存buffer,先存buffer,再存文件:丢日志
mmap
内存映射文件
优势:高性能、不丢失
业界实现:Xlog、Logan
其它
常用数据的缓存,避免多次读取
合理选择缓冲区Buffer大小:4-8KB
\