Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

真的变快了吗? #10

Closed
yygutn opened this issue Dec 6, 2021 · 9 comments
Closed

真的变快了吗? #10

yygutn opened this issue Dec 6, 2021 · 9 comments

Comments

@yygutn
Copy link

yygutn commented Dec 6, 2021

我对壳工程加了一行代码,测试加这个插件or不加这个插件,都是20s结束

@trycatchx
Copy link
Owner

trycatchx commented Dec 6, 2021

@yygutn 效果展现的柱状图是基于 一个 3W 个类文件(不包含第三方库),68个module 的工程的效果展现。
如果使用 demo 做速度测试,其中每一个 module 仅只有一两个 class,并没有对比意义(demo 只是为了测试解决依赖的替换和插件正常运行)

原生编译:对于一个模块A的改动,任何依赖了 A 的模块都会重新编译(如果A 是 comm 模块基本整个项目都要编)
插件加速编译:对于一个模块A的改动,只编译 A 和 app 模块

综上在插件能做到只编译改动模块。原生编译则不行。

所以是否变快很容易得出结论了。

@yygutn
Copy link
Author

yygutn commented Dec 6, 2021

好的吧,对于includeBuild是否支持呢

@trycatchx
Copy link
Owner

@yygutn 目前还没做 includeBuild 混合构建的测试。还没支持上来。

@trycatchx
Copy link
Owner

trycatchx commented Dec 6, 2021

@yygutn 如果你这边有这方面的经验和环境,欢迎提 PR

@yygutn
Copy link
Author

yygutn commented Dec 9, 2021

@trycatchx 最近在试用的时候,经常遇到这个问题: Type XXX is defined multiple times, clean build后就好了
发生的场景是,修改了某个module的依赖,重新sync,如果不clean一次,直接build就会出现问题

@trycatchx
Copy link
Owner

@yygutn 使用最新的1.0.6试试。

@trycatchx
Copy link
Owner

trycatchx commented Dec 10, 2021

@yygutn 这种引起类重复的原因是:项目使用了自定义的 transforms ,然后在gradle 没有增量的情况 遗漏调用 outputProvider.deleteAll() ,导致 依赖变化时候,module 换成 aar ,module 缓存没剔除 ,又多了一份一模一样的 aar 。(不使用 rockext 插件,模块更新也会出现这种问题)

建议在debug 阶段如果使用了 transform 通过以下代码禁止,如果没影响的话。速度还会更快(内部目前禁用了 arouter 神策 等插件):

 RocketX {
        // 禁用可禁用的 transform ,速度更快
        transFormList = ["sensorsAnalyticsAutoTrack","..xx"]
    }

@yygutn
Copy link
Author

yygutn commented Dec 14, 2021

谢谢大佬,真实勤劳的小蜜蜂 @trycatchx

@zxhandroid
Copy link

有些不能禁用的话,怎么处理呢,./gradlew clean 后,还是会报重复类的错误

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants