领域gradle任务

Dmy*_*lyk 6 android realm

在我的assembleDebuggradle任务的配置文件报告期间,我发现了两个与领域相关的gradle子任务,这需要花费相当多的时间:

assembleDebug - 1m21.44s
- transformClassesWithRealmOptionalAPITransformerForDebug - 22.386s
- transformClassesWithRealmTransformerForIdeDebug - 10.062s
Run Code Online (Sandbox Code Playgroud)

问题:

  • 这些领域相关的gradle子任务到底是做什么的?我可以在某些时候跳过它们吗?
  • 为什么他们这么久?(22 + 10 = 32秒)

更新

作为一种解决方法,我通过-x脚本参数跳过任务

assembleDebug -x transformClassesWithRealmOptionalAPITransformerForDebug
Run Code Online (Sandbox Code Playgroud)

bee*_*der 5

transformClassesWithRealmOptionalAPITransformerForDebug是为了删除RxJava相关的API 而创建的,因为它可能会为某些情况(需要反映的情况,例如https://realm.io/docs/java/latest/#jackson-databind)创建一个没有RxJava依赖关系的麻烦.但我们发现它在某些场合表现不佳,如https://github.com/realm/realm-java/issues/3033https://github.com/realm/realm-java/issues/3022.因此它将在下一个版本中被禁用v1.0.1.

transformClassesWithRealmTransformerForIdeDebug是Realm所依赖的核心部分.基本上它RealmObject通过字节码操作替换对Realm 访问器的字段访问.您可以查看此帖子了解更多详情.因此,不能跳过此任务.

PS.创建一个问题来跟踪变压器速度的提高.