ClassWriter繼承ClassVisitor 構(gòu)造方法ClassVisitor(api,nextClassVisitor) ClassVisitor構(gòu)造方法是鏈表形式的...
創(chuàng)建工程 使用android studio,基于gradle api 7.0+點(diǎn)擊查看官方文檔[https://docs.gradle.org/current/usergui...
場(chǎng)景 熱修復(fù)生成補(bǔ)丁時(shí),基線apk和修復(fù)后apk中資源id固定,可以有效減少補(bǔ)丁大小 創(chuàng)建ids_keep.gradle文件 該腳本會(huì)在每次編譯時(shí)生成一份ids_xxx_xx...
代碼混淆的作用 代碼混淆主要作用是使代碼在編譯過(guò)程中讓原本方便閱讀的代碼進(jìn)行一定規(guī)則的混淆和對(duì)代碼進(jìn)行一定量的優(yōu)化。 代碼混淆的意義 代碼混淆的意義在于將原本開(kāi)發(fā)時(shí)方便閱讀的...
給dialog設(shè)置下面的樣式,核心就是將android:windowIsFloating設(shè)置為false。 在dialog的onCreate方法中調(diào)用supportActio...
痛點(diǎn) 殼工程通過(guò)implementation 'com.alibaba:fastjson:1.2.76'的形式引入aar文件,而aar使用一個(gè)單獨(dú)的業(yè)務(wù)工程開(kāi)發(fā),這種形式開(kāi)發(fā)...
Lint 開(kāi)發(fā)中使用靜態(tài)代碼檢測(cè)工具對(duì)代碼進(jìn)行檢查,達(dá)到規(guī)范代碼減少bug的目的。常用的檢測(cè)工具有FindBugs、PMD、Coverity,Checkstyle。Andro...
https://mp.weixin.qq.com/s/Nl3To5voQ4wZ_soFIqRXUg[https://mp.weixin.qq.com/s/Nl3To5voQ4...
在registerForActivityResult(上)[http://www.itdecent.cn/p/fcad06c8c9a5]中我們提到使用上的不便,這篇就簡(jiǎn)單實(shí)...
registerForActivityResult(下)[http://www.itdecent.cn/p/5c3a0b072f6a]相關(guān)庫(kù)[https://gitee.c...
Stan_Z原創(chuàng)文章,轉(zhuǎn)載注明出處,不過(guò)我也設(shè)置了禁止轉(zhuǎn)載,嘻嘻。 一、優(yōu)化大綱介紹 二、啟動(dòng)時(shí)間測(cè)量 2.1 am start 2.2 Displayed Displaye...
android gradle plugin 7.0后maven插件更新到maven-publish,需要一些修改 發(fā)布任務(wù) 為發(fā)布的依賴添加源碼和文檔 發(fā)布 會(huì)根據(jù)上面配置的...
結(jié)論 flowOn操作符對(duì)上游范圍有效, 范圍是指兩個(gè)flowOn之間, 如果只有一個(gè)flowOn,則上游全部有效 最后一個(gè)flowOn后的操作所在線程與當(dāng)前整個(gè)flow所在...
CoordinatorLayout經(jīng)常會(huì)和AppBarLayout配合使用,AppBarLayout的滑動(dòng)屬性有以下flags,xml中設(shè)置方法如下: flags取值scro...
下面結(jié)論都是基于GridLayoutManager方向?yàn)樨Q直,spanCount為列數(shù)的情況,但在水平方向類似。 SpanSizeLookup public int getS...
flutter 2.0 beta已經(jīng)發(fā)布有有一陣子了,開(kāi)始體驗(yàn)吧,因?yàn)槔享?xiàng)目的原因需要保留以前的sdk版本,所以在新的目錄從新下載一個(gè)sdk。 本機(jī)為mac環(huán)境。 下載 下載...
一個(gè)舊項(xiàng)目需要添加僅wifi下加載圖片的配置功能,因?yàn)樵擁?xiàng)目并沒(méi)有封裝圖片加載,只是直接使用了glide加載圖片,常規(guī)改造方法工作量巨大,于是有了這篇。 實(shí)現(xiàn)思路是通過(guò)自定義...