![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
文章平均质量分 66
jalen2024
这个作者很懒,什么都没留下…
展开
-
细数SharedPreferences的5大缺陷及ANR原因
我们经常使用的SharedPreferences其实是存在很多缺陷的,主要表现在占用内存getValue时可能导致ANR不支持多进程不支持全量更新commit或apply都可能导致ANR以下参考安卓源码的基础上,使用大白话和部分代码片段和大家一起探讨分享。占用内存final class SharedPreferencesImpl implements SharedPreferences { ...... //构造方法 SharedPreferenc原创 2022-03-19 16:03:31 · 3889 阅读 · 0 评论 -
10分钟吃透kotlin语法let apply also run takeIf takeUnless的区别
结论先行区别返回值内部操作let最后一行itapply调用者本身thisalso调用者本身itrun最后一行this或省略首先写一个Person类做演示,方便数据的展示。其次对每个api写1到2个测试的方法,看打印的log日志(注释上的即是)class Person(var name: String, var age: Int) { override fun toString(): String { retur原创 2022-02-28 20:15:46 · 2270 阅读 · 0 评论 -
10分钟 吃透Handler完整原理机制
Handler 原理 大白话4个角色Looper 循环器Handler 发送和接收消息者MessageQueue 存储消息的对了Message 传递的消息事件主要从源码部分了解以下几个核心重要的方法1.1Looper.prepare() private static void prepare(boolean quitAllowed) { if (sThreadLocal.get() != null) { throw new RuntimeE原创 2022-02-26 22:46:41 · 1087 阅读 · 0 评论