- 博客(9)
- 资源 (1)
- 收藏
- 关注
原创 从源码上分析SharedPreferences的commit和apply的区别
commit提交时会返回写入是否成功,apply无返回值,因为时异步的commit提交写入磁盘时在当前线程中,如果遇到数据量大,容易ANRapply提交是异步的,虽在子线程中,但是也不排除ANR的风险,当此时在页面切换时,任务尚未执行完,会将任务放到主线程中执行,则会造成ActivityThread.handlePauseActivity执行时间耗时太长,导致ANR。
2023-12-13 22:24:46
965
原创 Messenger夸进程通信的原理
Messenger跨进程通信,底层实际上就是通过Binder机制由于处理消息是使用的是Handler,所以一次只能处理一条信息。
2023-12-13 14:56:05
1051
原创 SpareArray集合源码分析
SparseArray的数据结构是数组SparseArray的优点:keys是有序的;存储元素简单,避免了像HashMap一样,需要对元素进行装箱,不需要在单独封装数据结构SparseArray的缺点:由于底层是数组,存在频繁的添加导致效率的降低为何删除元素,不是立即删除?
2023-12-02 18:47:19
874
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人