2016-06-20 4 views
5

Во время моего профиля доклада assembleDebug Gradle задачи я обнаружил два связанных царство Gradle подзадач, которые занимают довольно большое количество времени:Realm Gradle задача

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

Вопросов:

  • что именно эти связанные с царством подступки? Могу ли я пропустить их в какой-то момент?
  • Почему они так долго? (22 + 10 = 32 сек)

Update

В качестве обходного пути я прыгая задачу с помощью параметра -x сценария

assembleDebug -x transformClassesWithRealmOptionalAPITransformerForDebug 

ответ

5

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 является основной частью Королевства. В основном, он заменяет доступ к окну RealmObject с помощью аксессуаров Realm при манипулировании байт-кодом. Вы можете увидеть это post для получения более подробной информации. Таким образом, эту задачу нельзя пропустить.

PS. issue создан для отслеживания улучшения скорости трансформатора.

Смежные вопросы