gpt4 book ai didi

android - Realm 梯度任务

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:58:03 25 4
gpt4 key购买 nike

在我对 assembleDebug gradle 任务的分析报告中,我发现了两个 Realm 相关的 gradle 子任务,它们花费了大量时间:

assembleDebug - 1m21.44s
- transformClassesWithRealmOptionalAPITransformerForDebug - 22.386s
- transformClassesWithRealmTransformerForIdeDebug - 10.062s

问题:

  • 那些 Realm 相关的 gradle 子任务到底是做什么的?我可以在某个时候跳过它们吗?
  • 为什么他们花了这么长时间? (22 + 10 = 32 秒)

更新

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

assembleDebug -x transformClassesWithRealmOptionalAPITransformerForDebug

最佳答案

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

transformClassesWithRealmTransformerForIdeDebug 是 Realm 依赖的核心部分。基本上,它通过字节码操作将对 RealmObject 的字段访问替换为 Realm 访问器。你可以看到这个post了解更多详情。因此,不能跳过此任务。

附言。一个issue是为了跟踪变压器速度的改进而创建的。

关于android - Realm 梯度任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37928953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com