原理篇
文章平均质量分 81
介绍开发使用和面试中的一些常见的原理
文韬_武略
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android之View.post() 获取 View 宽高的原理和消息同步屏障
在Android中,**onCreate()和onStart()无法获取View的宽高是因为此时View还未完成测量和布局流程。View的宽高测量是在onResume()之后通过ViewRootImpl的performTraversals()触发的。而view.post(Runnable)**能获取宽高的原因是: 消息队列机制: 若View未Attach到窗口,Runnable会暂存到RunQueue 在ViewRootImpl设置AttachInfo时,Runnable被投递到主线程消息队列 由于Chor原创 2025-11-13 11:28:19 · 888 阅读 · 0 评论 -
Android垃圾回收算法详解
本文系统介绍了Android垃圾回收机制。重点分析了四种常见GC算法:标记-清除会产生内存碎片,标记-整理能消除碎片但耗时,复制算法高效但浪费空间,分代收集算法根据对象生命周期采用不同策略,最适合Android应用场景。现代Android采用并发复制GC,结合分代收集和压缩整理,实现短暂停时间(<10ms)和高内存利用率。文章还对比了Dalvik和ART的GC差异,并提供了减少GC影响的优化建议,如对象池、内存泄漏检测等。理解这些GC机制对开发高性能Android应用至关重要。原创 2025-11-12 14:32:56 · 892 阅读 · 0 评论 -
Android 协程间通信
Kotlin协程通信机制摘要:本文介绍了Kotlin协程的5种主要通信方式。1) Channel类似于阻塞队列,支持无缓冲、有缓冲、无限容量等类型,适合生产者-消费者模式;2) Flow是冷流,StateFlow和SharedFlow分别用于状态管理和事件总线;3) Deferred用于异步获取单个结果;4) CompletableDeferred可手动完成延迟值;5) Actor模式封装Channel用于状态管理。每种机制都有特定适用场景,如Channel适合顺序通信,Flow适合数据流,Deferred原创 2025-11-11 16:54:59 · 200 阅读 · 0 评论 -
RxJava线程切换原理
上图:原创 2019-11-27 00:29:30 · 228 阅读 · 0 评论 -
EventBus使用和源码详解
目录1. 架构图2. 使用3. 源码解析3.1 @Subscribe注解3.1.1 threadMode: 配置消息接收是在哪个线程3.1.2 sticky : 粘性事件3.1.3 priority : 接收事件的优先级3.2 注解解析3.2.1 注解类上的元注解3.2.2 collectSubscribers收集订阅类和订阅的方法信息3.2.3 生...原创 2019-11-16 16:20:40 · 734 阅读 · 0 评论 -
android Message机制详解
最近被问到Message池最多有多少个?瞬间懵逼了。是该好好来了解下Message机制了。Message源码就不贴了,自己点开看下就好。一般滴,我们是这么用的:Message msg = Message.obtain();msg.what = MSG_SHOP;msg.obj = bean;handler.sendMessage(msg);为啥这么用呢?人...原创 2019-11-10 21:47:10 · 691 阅读 · 0 评论
分享