在我的个人资料报告期间assembleDebug
gradle 任务 我发现了两个与领域相关的 gradle 子任务,这需要相当多的时间:
assembleDebug - 1m21.44s
- transformClassesWithRealmOptionalAPITransformerForDebug - 22.386s
- transformClassesWithRealmTransformerForIdeDebug - 10.062s
问题:
- 那些与领域相关的 gradle 子任务到底是做什么的?我可以在某个时候跳过它们吗?
- 为什么他们花了这么长时间? (22 + 10 = 32 秒)
Update
作为解决方法,我通过跳过任务-x
脚本参数
assembleDebug -x transformClassesWithRealmOptionalAPITransformerForDebug
transformClassesWithRealmOptionalAPITransformerForDebug
是为了删除而创建的RxJava
相关的 API,因为它可能会给某些情况带来麻烦(需要反射的情况,例如https://realm.io/docs/java/latest/#jackson-databind https://realm.io/docs/java/latest/#jackson-databind)其中没有RxJava
依赖性。但我们发现它在某些场合效果不佳,例如https://github.com/realm/realm-java/issues/3033 https://github.com/realm/realm-java/issues/3033 and https://github.com/realm/realm-java/issues/3022 https://github.com/realm/realm-java/issues/3022。所以它将在下一个版本之后被禁用v1.0.1
.
transformClassesWithRealmTransformerForIdeDebug
是Realm所依赖的核心部分。基本上它取代了现场访问RealmObject
通过字节码操作使用 Realm 访问器。你可以看到这个post https://realm.io/news/android-installation-change/了解更多详细信息。因此,这个任务是不能跳过的。
PS. an issue https://github.com/realm/realm-java/issues/3034创建是为了跟踪变压器速度的改进。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)