关于Android framework,大部分人都会掉入的学习误区

在学习Android framework的过程中,大家容易走进一个误区,或者说绕了远路,就是会为庞大的源码而耗费大量心力。


在这里还是要提醒大家,不要过于关心那些复杂的函数调用链,学习跟踪方法以及把握整理流程最为重要。


关于Android framework,大部分人都会掉入的学习误区


Android源码树异常庞大,如果你想一行不漏地看,这是不可能的,就算你这么干了,效果也不见得好——只见树木,不见森林。


打个简单的比方,Activity的启动流程,你不用关心在AMS里面这里跳到那里是干什么,还有ActivityStack以及它的那个SuperXX跳来跳去是在搞什么呢...


关于Android framework,大部分人都会掉入的学习误区


你需要了解的是:在Context里面,通过AMS的Client ActivityManagerNative发起Binder调用进入system_server进程,在AMS里面绕了一圈(处理Activity栈以及生命周期相关)。


然后通过IApplicationThread这个Binder调用回到App进程的Binder线程池,在线程池里面通过Handler发送Message到App主线程,最终通过ClassLoader加载Activity类,创建对象,回调对应的生命周期,整个过程结束。


学习Android framework,最终目的只有一个,就是「学会看源码」,而不是「学会源码」。

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章