天天看點

api 與 implementation 差別

api 與 implementation 差別
api 與 implementation 差別
編譯時:如果 libC 的内容發生變化,由于使用的是 api 依賴,依賴會傳遞,是以 libC、libA、projectX 都要發生變化,
都需要重新編譯,速度慢,運作時:libC、libA、projectX 中的 class 都要被加載。
編譯時:如果 libD 的内容發生變化,由于使用的是 implemetation 依賴,依賴不會傳遞,隻有 libD、libB 要變化并重新編譯,
速度快,運作時:libC、libA、projectX 中的 class 都要被加載

api 的适用場景是多 module 依賴,moduleA 工程依賴了 module B,同時 module B 又需要依賴了 module C,modelA 工程也需要去依賴 module C,
這個時候避免重複依賴 module,可以使用 module B api 依賴的方式去依賴 module C,modelA 工程隻需要依賴 moduleB 即可      
除非涉及到多子產品依賴,為了避免重複依賴,咱們會使用 api,其它情況我們優先選擇 implementation,擁有大量的 api 依賴項會顯著增加建構時間      

繼續閱讀