Rompiendo mitos sobre el rendimiento de Android

Descubra qué mitos sobre el rendimiento de Android han sido el punto de referencia

Anticipándonos al inicio del curso "Desarrollador de Android. Básico", invitamos a todos a ver la lección abierta sobre el tema "Pruebas unitarias en Android".



También compartimos la traducción de material útil.






A lo largo de los años, ha habido muchos mitos sobre el rendimiento de Android. Si bien algunos mitos pueden parecer divertidos o divertidos, ir por el camino equivocado al crear aplicaciones efectivas de Android es exactamente lo opuesto a la diversión.





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