AppJoint icon indicating copy to clipboard operation
AppJoint copied to clipboard

性能不行,不支持增量,也没做注解解析的过滤操作

Open Sanjay-F opened this issue 6 years ago • 6 comments

不知是否你们代码量不多,或者对编译耗时这个要求不高,这个插件对于大点项目的耗时是很夸张的。

  1. 假增量,在Transform里面写了支持增量,但实际并没有这么做,还是全局遍历

  2. 读所有问题来做解析注解完全没必要,可以利用apt生成份包含有这个注解的类,从而来加速解析速度,每个类都找javassist去解析判断,性能很差的,大海捞针一样。

Sanjay-F avatar Jul 19 '19 08:07 Sanjay-F

希望作者能优化楼上提出的问题

zhiyu25 avatar Aug 23 '19 00:08 zhiyu25

感谢建议,事实上我已经在着手重构,新的版本会在API兼容的基础上,使用性能更好的实现方案 :) 对于目前的版本,编译耗时主要在全量编译的过程中,个人实践 20+ 模块的编译过程中,耗时可接受,对于模块单独开发的流程则不会有任何影响。本人开发项目流程开发中,已经很少使用全量编译,大多数时候都是在模块单独开发,所以当前版本对日常开发的影响并不大。

PrototypeZ avatar Aug 23 '19 02:08 PrototypeZ

作者你好,请问性能优化计划有什么进展吗?

binbinla avatar Oct 29 '19 08:10 binbinla

你好 关于性能问题,可以参考或者使用下面的开源库: https://github.com/bugyun/SpiderMan/tree/master/SpiderMan-plugin-core 优势: 优化文件处理速度 启用多线程来优化速度 比市面上相关插件速度快1倍以上 避免处理各种文件 只需要继承几个类就可以完成 ASM/Javassist 的代码注入 支持 ASM 和 Javassist

bugyun avatar Jan 09 '20 03:01 bugyun

大家可以不使用注解,接口的初始化可以自行实现,效率是最高的, 自己初始化接口也没多少工作量的

qinweiforandroid avatar Feb 02 '21 08:02 qinweiforandroid