前言 剛接觸flutter開發的同學肯定對一個概念不陌生:三棵樹,分別是widget樹,element樹和renderobject樹。然后大家就開始搜三棵樹的各種原理,創建流...

前言 剛接觸flutter開發的同學肯定對一個概念不陌生:三棵樹,分別是widget樹,element樹和renderobject樹。然后大家就開始搜三棵樹的各種原理,創建流...
@leeuser 如果你所謂的業務封裝是為了便于以后方便的替換圖片加載框架的話,那么你增加一個接口隔離層就可以了啊,glide是這個接口的一個實現,可以考慮使用策略模式,比較麻煩的是你要統計出這個接口層支持哪些效果,比如圓角之類的,要操作切換不同框架時,接口隔離層規定的各種功能都不受到影響
Glide架構設計藝術自從Android誕生以來,Bitmap的管理就一直是大問題,為了更好的管理它,不同的圖片加載框架不斷的被推出,從剛開始的ImageLoader,到Picasso,再到現在的...
@foreveri7 哈哈,可以
從零開始寫攔截器攔截器的應用是非常廣泛的,okhttp中有攔截器,spring框架中也有攔截器,這個年代,你要是不知道什么是攔截器你都不好意思說你是程序員。為了防止大家不好意思出門打招呼,今...
@foreveri7 什么意思……
從零開始寫攔截器攔截器的應用是非常廣泛的,okhttp中有攔截器,spring框架中也有攔截器,這個年代,你要是不知道什么是攔截器你都不好意思說你是程序員。為了防止大家不好意思出門打招呼,今...
@不會飛的掃把 算,只要你設置的scope中包含了第三方依賴就可以
如何開發一款高性能的gradle transform前言 對于java開發者來說,大家好像都比較喜歡在編譯期間搞事兒,比如為了做到AOP編程,大家都喜歡利用字節碼生成技術,常用的有無痕埋點,方法耗時統計等等。那么Android...
前言 一般來說,如果不是項目中經常需要用到很多的動畫,大家可能只是對Android動畫的原理有一點點了解,比如Android的view動畫只是修改繪制,所以點擊事件還是留在原...
自從Android誕生以來,Bitmap的管理就一直是大問題,為了更好的管理它,不同的圖片加載框架不斷的被推出,從剛開始的ImageLoader,到Picasso,再到現在的...
前言 對于java開發者來說,大家好像都比較喜歡在編譯期間搞事兒,比如為了做到AOP編程,大家都喜歡利用字節碼生成技術,常用的有無痕埋點,方法耗時統計等等。那么Android...
身為四大組件之一,Activity可以說是和我們開發人員打交道最多的組件了,大家平時開發時可能對這個組件都有一些疑惑,比如為什么啟動一個activity是一個重量級行為呢(因...
@大空ts翼 現在這套是利用反射實現的,好處是目標模塊只要實現接口,不需要依賴這個庫,只要使用的地方依賴了這個庫就可以,其實換個思路利用注解也是可以實現的,這樣的話目標模塊就必須要依賴這個庫了,因為要使用他的注解,這個思路和ARouter已經沒有什么區別了。當然ARouter現在好像一次只能發現一個服務,解決不了文中提到的批量派發服務的問題
Android模塊化中的服務發現機制前言 本文討論的其實是項目經過模塊化后的一種情況,如果沒有模塊化需求其實是無所謂的。如果項目已經進行了模塊化,推薦大家花幾分鐘看下。 需求 首先,我們來看一張常見的模塊化后的...
@大空ts翼 可以的,本來就是為跨模塊通信設計的
Android模塊化中的服務發現機制前言 本文討論的其實是項目經過模塊化后的一種情況,如果沒有模塊化需求其實是無所謂的。如果項目已經進行了模塊化,推薦大家花幾分鐘看下。 需求 首先,我們來看一張常見的模塊化后的...
@大空ts翼 不是很明白你的意思,一般來說跨模塊通信都會在兩個隔離模塊的底層模塊中增加一個接口,這個接口的實現在目標模塊,這樣就可以通過這個接口去調用目標模塊的功能,你提到的判斷是判斷什么呢?某個模塊特有的話列表中就只有這一個服務,也不影響啊
Android模塊化中的服務發現機制前言 本文討論的其實是項目經過模塊化后的一種情況,如果沒有模塊化需求其實是無所謂的。如果項目已經進行了模塊化,推薦大家花幾分鐘看下。 需求 首先,我們來看一張常見的模塊化后的...
@yoyochoo 混淆這塊確實要注意,還有注冊其實是要手動指明meta-data中的value的,無法做到自動注冊,畢竟可能有多個服務,除非對這個value做特殊限制,比如要求必須以“sp_”開頭,這樣我們就可以全自動注冊。但這樣還有一個缺點,如果開發人員一不小心在xml中指定的類出了錯誤,我們無法及時發現,只有在使用時才會crash,相當于埋了雷。目前我的注冊是:public static void register(Context context, String metaDataValue, Class clz) ,這里強制要求傳入實現類的class,這樣可以做個檢查,防止出錯。
Android模塊化中的服務發現機制前言 本文討論的其實是項目經過模塊化后的一種情況,如果沒有模塊化需求其實是無所謂的。如果項目已經進行了模塊化,推薦大家花幾分鐘看下。 需求 首先,我們來看一張常見的模塊化后的...
@yoyochoo 哈哈,有幫助就好
Android模塊化中的服務發現機制前言 本文討論的其實是項目經過模塊化后的一種情況,如果沒有模塊化需求其實是無所謂的。如果項目已經進行了模塊化,推薦大家花幾分鐘看下。 需求 首先,我們來看一張常見的模塊化后的...
我們都知道,Android是16ms刷新一幀,而通常我們所理解的刷新是“每個view的draw()方法被調用”,所以這里就有一個問題了,Android系統底層每隔16ms就發...
前言 在分析ConcurrentHashMap之前,希望大家先讀完HashMap的源碼,因為ConcurrentHashMap基本算法和HashMap是一致的,只是增加了并發...