IM的客戶端之旅 [TOC] 引言 短短的一段消息、一句語音,就能實(shí)時(shí)的建立聯(lián)系牽掛,遠(yuǎn)隔天邊的彼此不但可以千里共嬋娟,還能互相訴說心里話~ IM是公司必不可少的基礎(chǔ)技術(shù)設(shè)施...
DefaultGradleLauncher 在高本版(gradle 7.2) 沒有了,難受~
Gradle源碼分析(六)1. 寫在前面 在 Gradle源碼分析(五)[http://www.itdecent.cn/p/c257d3b338fe]一文中,我們分析了Gradle構(gòu)建流程的 Run...
1. 寫在前面 在 Gradle源碼分析(五)[http://www.itdecent.cn/p/c257d3b338fe]一文中,我們分析了Gradle構(gòu)建流程的 Run...
新的一年已經(jīng)開始了,按照慣例2023年進(jìn)行總結(jié),對2024年進(jìn)行總結(jié)。 2023年 總結(jié) 首先2023年雖然沒有寫規(guī)劃,但是實(shí)際上確確實(shí)實(shí)在走自己的內(nèi)心規(guī)劃路線上。去年一年我...
[TOC] 在看此文之前建議看下,http://www.itdecent.cn/p/9ee9fa13eeef[http://www.itdecent.cn/p/9ee9f...
lateinit lateinit:用來修飾var類型成員變量,用來表示該變量可以在晚些時(shí)候初始化,用來避免不必要的空檢查。自Kotlin1.2版本開始,lateinit也可...
請問,那個(gè)activity的坑的原因,博主知道為什么了嗎?
手把手講解 Android Hook無清單啟動(dòng)Activity的應(yīng)用前言 手把手講解系列文章,是我寫給各位看官,也是寫給我自己的。文章可能過分詳細(xì),但是這是為了幫助到盡量多的人,畢竟工作5,6年,不能老吸血,也到了回饋開源的時(shí)候.這個(gè)系列的文...
說下我的理解,使用runtimeOnly的核心目的還是為了代碼隔離~
runtimeOnly的作用是只參與打包,而不參與編譯,因此不能在代碼中直接調(diào)用 login-impl 模塊中的代碼,只能通過login-api中的接口提供出的能力間接調(diào)用。
Android 組件化實(shí)踐-最簡Demo背景 什么是組件化?組件化就是模塊化,在Android工程實(shí)踐中可以實(shí)現(xiàn)單獨(dú)編譯、運(yùn)行、調(diào)試。 --個(gè)人見解 為什么要組件化?A. 解耦B. 代碼隔離C. 團(tuán)隊(duì)協(xié)作 組件化的...
首先,感謝作者的分享,我還是不太明白,為什么在依賴項(xiàng)那選擇用runtimeOnly project(path: ':login-impl'),而非implementation project(path: ':login-impl')?
前言 網(wǎng)上關(guān)于 Android 集成 FFmpeg 的文章很多,但大多數(shù)都只介紹了步驟,沒有說明背后的原理,若之前沒有集成底層庫的經(jīng)驗(yàn),那就會(huì)“神知無知”的走一步看一步,出錯(cuò)...
前言 現(xiàn)在很多App里都內(nèi)置了Web網(wǎng)頁(Hybrid App),比如說很多電商平臺(tái),淘寶、京東、聚劃算等等,如下圖 上述功能是由Android的WebView實(shí)現(xiàn)的,其中涉...
Binder承擔(dān)了絕大部分Android進(jìn)程通信的職責(zé),可以看做是Android的血管系統(tǒng),負(fù)責(zé)不同服務(wù)模塊進(jìn)程間的通信。在對Binder的理解上,可大可小,日常APP開發(fā)并...
和AMS有關(guān)的操作都是異步的,因?yàn)锳MS最終會(huì)調(diào)用ActivityThread里面的Handler來處理,所以startActivity也是異步的
前言 上一篇文章,筆者主要講述了DecorView以及ViewRootImpl相關(guān)的作用,這里回顧一下上一章所說的內(nèi)容:DecorView是視圖的頂級View,我們添加的布局...
Android構(gòu)建會(huì)經(jīng)歷資源合并打包、源碼編譯、dex生成及打包簽名等步驟。本文對資源合并打包進(jìn)行一下小的總結(jié) 資源合并 上面一圖總結(jié)了在構(gòu)建過程中的資源合并情況。 資源合并...