2016-06-20 27 views
5

Durante il mio profilo relazione assembleDebug compito Gradle ho scoperto due Gradle sotto-attività correlate regno che prende abbastanza grande quantità di tempo:Realm compiti Gradle

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

Domande:

  • cosa esattamente cosa fanno i compiti secondari gradle relativi al regno? Posso saltarli a un certo punto?
  • perché ci è voluto così tanto tempo? (22 + 10 = 32 sec)

Aggiornamento

Come una soluzione che sto saltando compito tramite il parametro -x sceneggiatura

assembleDebug -x transformClassesWithRealmOptionalAPITransformerForDebug 

risposta

5

transformClassesWithRealmOptionalAPITransformerForDebug viene creato per la rimozione di RxJava API correlate in quanto potrebbe creare problemi per alcuni casi (casi che richiedono una riflessione come https://realm.io/docs/java/latest/#jackson-databind) che non ha la dipendenza RxJava. Ma abbiamo trovato che non funziona bene in alcune occasioni come https://github.com/realm/realm-java/issues/3033 e https://github.com/realm/realm-java/issues/3022. Quindi sarà disabilitato nella prossima versione dopo lo v1.0.1.

transformClassesWithRealmTransformerForIdeDebug è la parte principale su cui si basa Realm. Fondamentalmente sostituisce l'accesso al campo allo RealmObject con gli accessori di Realm manipolando il codice. Puoi vedere questo post per un po 'più di dettagli. Pertanto, questa attività non può essere saltata.

PS. un issue viene creato per tracciare il miglioramento della velocità del trasformatore.