上班第十二周

Arouter原理

路由框架會在項目的編譯期通過注解處理器apt掃描所有添加@Route注解的Activity類,然后將Route注解中的path地址和Activity.class文件映射關(guān)系保存到它自己生成的java文件中,只要拿到了映射關(guān)系便能拿到Activity.class。

apt是在編譯期對代碼中指定的注解進(jìn)行解析,然后做一些其他處理(如通過javapoet生成新的Java文件)。我們常用的ButterKnife,其原理就是通過注解處理器在編譯期掃描代碼中加入的@BindView、@OnClick等注解進(jìn)行掃描處理,然后生成XXX_ViewBinding類,實現(xiàn)了view的綁定。javapoet是用來生成java文件的一個library,它提供了簡便的api供你去生成一個java文件。

pushcore

最近發(fā)現(xiàn)公司的項目出現(xiàn)個pushcore進(jìn)程,看了一下代碼,因為是在Androidmanifest加了android:process,這個配制的作用如下
android:process:是否需要在單獨的進(jìn)程中運(yùn)行,當(dāng)設(shè)置為android:process=”:remote”時,代表Service在單獨的進(jìn)程中運(yùn)行。注意“:”很重要,它的意思是指要在當(dāng)前進(jìn)程名稱前面附加上當(dāng)前的包名,所以“remote”和”:remote”不是同一個意思,前者的進(jìn)程名稱為:remote,而后者的進(jìn)程名稱為:App-packageName:remote

參考

【Android】阿里路由框架ARouter原理分析總結(jié)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容