展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

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 依赖项会显著增加构建时间
posted @ 2022-08-02 15:37  DogLeftover  阅读(215)  评论(0编辑  收藏  举报