AMessenger AMessenger[https://github.com/fffffz/AMessenger] 是一个有跨进程能力的 Handler,特点是非常轻巧 ...
![240](https://upload.jianshu.io/users/upload_avatars/1858589/633f20b693c9.jpeg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
AMessenger AMessenger[https://github.com/fffffz/AMessenger] 是一个有跨进程能力的 Handler,特点是非常轻巧 ...
本系列博客基于com.android.support:recyclerview-v7:26.1.01.【进阶】RecyclerView源码解析(一)——绘制流程2.【进阶】R...
谢谢,SurfaceFlinger 没有研究过,还没计划去研究
Choreographer 解析一、概述 在 Logcat 中使用关键词 Choreographer 进行过滤,对 App 做一些操作,一般能看到控制台输出这样的日志 这是观察 App 掉帧情况的一种手段默...
分析卡顿都是针对特定操作场景的,操作时观察Logcat打印的Skipped xx frames就好了。至于分析,其实Systrace的文章很多,也差不多够用。另外,卡顿应该说是有2点原因:1、UI任务太耗时 2、UI任务过于集中。一般大家都只注意第一点,没注意第二点。
Choreographer 解析一、概述 在 Logcat 中使用关键词 Choreographer 进行过滤,对 App 做一些操作,一般能看到控制台输出这样的日志 这是观察 App 掉帧情况的一种手段默...
starUML
view.post() & handler.post() & runOnUiThread()view.post() [View.java] [ViewRootImpl.java] 如果 mAttachInfo != null 则 attachInfo.mHandle...
@ITIan 嗯,这样的确可以。只是继承 RxActivity 也是一个比较不方便的限制
RxLifecycle 替代方案RxJava 的 Observable subscribe() 后会返回 Subscription(RxJava2 是在 onSubscribe(Disposable d))...
bindUntilEvent 是 RxActivity 才有的方法
RxLifecycle 替代方案RxJava 的 Observable subscribe() 后会返回 Subscription(RxJava2 是在 onSubscribe(Disposable d))...
就像学画画,画棵树,先学画枝干,不要盯着树叶上的脉络
自己动手实现 RxJava 理解其调用链RxJava 拥有繁多的 API 和复杂的逻辑链,学习复杂的知识,一般从整体再到具体,为了学习 RxJava 的原理,参考其源码,自己动手实现一个简化的 RxJava,旨在理...
一、概述 在 Logcat 中使用关键词 Choreographer 进行过滤,对 App 做一些操作,一般能看到控制台输出这样的日志 这是观察 App 掉帧情况的一种手段默...
还有最基本的:手机系统必须是原生的,简单点就用模拟器吧
Activity(三)栈管理一、主要涉及4个类 1) ActivityRecord源码注释:An entry in the history stack, representing an activity...
@hurtsogood 点击开始调试的时候弹出 Choose Process 对话框,要勾选 Show all processes 然后选择 system_process
Activity(三)栈管理一、主要涉及4个类 1) ActivityRecord源码注释:An entry in the history stack, representing an activity...