Penghancur Mitos Tentang Kinerja Android

Cari tahu mitos tentang kinerja Android yang menjadi tolok ukur

Untuk mengantisipasi dimulainya kursus "Pengembang Android. Dasar", kami mengundang semua orang untuk menonton pelajaran terbuka tentang topik "Pengujian unit di Android".



Kami juga membagikan terjemahan materi yang bermanfaat.






Selama bertahun-tahun, ada banyak mitos tentang kinerja Android. Meskipun beberapa mitos mungkin tampak lucu atau lucu, salah jalan saat membuat aplikasi Android yang efektif adalah kebalikan dari kesenangan.





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