Rebentando mitos sobre o desempenho do Android

Descubra quais mitos sobre o desempenho do Android sĂŁo a referĂŞncia

Antecipando o início do curso "Desenvolvedor Android. Básico", convidamos a todos a assistir a uma aula aberta sobre o tema "Testes unitários em Android".



Também compartilhamos a tradução de material útil.






Ao longo dos anos, surgiram muitos mitos sobre o desempenho do Android. Embora alguns mitos possam parecer divertidos ou divertidos, ir no caminho errado ao criar aplicativos Android eficazes Ă© exatamente o oposto de diversĂŁo.





MythBusters ( ). , . : , , , , . : , , . , !





1: Kotlin , Java

Google Drive Java Kotlin. 16 000 170 , 40 . , , .





, Kotlin .





, . , 2%, .





, 25%. , .





Kotlin: , R8, Kotlin.





2:

public . , getFoo , :





public class ToyClass {
   public int foo;
   public int getFoo() { return foo; }
}
ToyClass tc = new ToyClass();
      
      



public tc.foo, .





Jetpack Benchmark Pixel 3 Android 10. . - , , .





?





, , . , Android (ART) . , , JIT AOT, . , Kotlin — tc.foo — . , , ART : .





Kotlin public, . private — , . .





3: - ,

-, API, , .





, . API map-reduce.





ArrayList<ToyClass> array = build();
int sum = array.stream().map(tc -> tc.foo).reduce(0, (a, b) -> a + b);
      
      



, .





-.





ToyClassToInteger toyClassToInteger = new ToyClassToInteger();
SumOp sumOp = new SumOp();
int sum = array.stream().map(toyClassToInteger).reduce(0, sumOp);
      
      







: - toyClassToInteger, , - sum.





, , , : , , .





? Jetpack Benchmark Pixel 3 Android 10 .





, , .





, .





, : , .





4: — ,

Android . , .





. . , Android 10 Gen-CC. , Android 11.





, H2, 170%, , Google Sheets, — 68%.





, , ?





, , , , , . , , , , . - :





Pool<A> pool[] = new Pool<>[50];
void foo() {
   A a = pool.acquire();
   …
   pool.release(a);
}
      
      



, , .





, : , , .





Pixel 2 XL Android 10, . , , .





:





:





, . , , .





, , , , . , - , . , , , , .





, ? . , , . -, , :





  • .





  • , .









.





, , — , .





5: —

, (debuggable), , , , . , . , .





, . .





, , . 50% . , 100% . , , , .. , , .





, , .





. , , . , , , .





1: Multidex: ?

APK- . dex - . Multidex — , , .





, - ? , dex-? - , , dex- dex .





dex- , . dex-. dex- , .





, .





dex- . : . , dex- , .





  APK ?





, APK, . , , dex-, dex- .





, dex-. . , R8 D8. dex-, . , dex-, , startup- . , dex- , , .





2:

JIT-, ART, , , . , /JIT-, , , . , ART, Google. , ART JIT-. , .





, :





  • , , , .





  • , , , Android 5 .





  • .





, .





, — R8. , , Android App Bundle Play Feature Delivery. , , .





Android, , . , , .





, , . , Android Studio , . , , Perfetto Systrace. , , , .





Jetpack Benchmark , . , , , . , : .





Java Oracle / .






"Android Developer. Basic".









"Unit- Android".












All Articles