ANR分析 最近也跟进了一个SharedPreferences相关的ANR,是主线程读取SP的时(首次读取某个key的值)产生了ANR。 ANR 信息如下 原因是:SP加载整个文件时比较耗时,导致加载的后台线程被挂起,同时就影响到了主线程的唤醒。 即之前要主线程读取某个key时主动await了,它需要SP加载整个文件的线程Notify 临时解决方案: 在应用启动时主动读取SP的值,提前触发整个SP文件先加载,方便后续的读取。 个人总结 参考文档 SharedPreferences ANR 总结细数 SharedPreferences 的那些槽点 !SharedPreferences ANR问题分析 & Android8.0的优化如何分析 ANR 的原因SharedPreferences使用性能优化