最近焦虑感倍增,可能离目标和梦想越来越远。但梦想还是要有的,生活还得继续修行。
前几天有个小伙伴问我,binder是异步执行还是同步执行的,因为他验证的时候是发现日志是异步的。结论:系统正常的获取binder服务的能力是同步的,所以有些冷启动会尽量延迟或少通过IPC调用系统能力。
事出必有妖,后来经验证是代码逻辑本身的问题。
其实小伙伴去看binder是异步执行还是同步执行,有两个简单的方式:
1.同步Binder调用的情况,他的calllingPid必不为0
2.通过debug看如下代码:
最后一个参数是0代表是同步,1为异步(FLAG_ONEWAY)