Sobes.tech
Middle+

Šta biste uradili ako vam poveriše da ispravite dugo vreme pokretanja aplikacije u zastarelom projektu?

sobes.tech АИ

Одговор од АИ

Biću izvršeno profilisanje pomoću Android Studio (CPU Profiler, Startup Profiler) radi identifikacije uskih grla, analize opterećenja CPU-a, rada sa mrežom, diskom i blokada niti.

Koristiću sledeće pristupe za optimizaciju:

  • Odložena inicijalizacija: Premestiti izvršenje nehitnih zadataka nakon pokretanja ili na zahtev.
  • Optimizacija rada sa bazom podataka: Indeksiranje, optimizacija upita, odloženo učitavanje podataka.
  • Smanjenje veličine hijerarhije prikaza (View Hierarchy): Korišćenje <include>, <merge>, ConstraintLayout.
  • Optimizacija pozadinskih niti i asinhronih operacija: Korišćenje WorkManager, korutina, pravilno upravljanje životnim ciklusom.
  • Smanjenje veličine APK: Uklanjanje neupotrebljenih resursa, optimizacija grafike, ProGuard/R8.
  • Keširanje podataka: Mrežni zahtevi, teški računi.
  • Analiza i ispravljanje blokada glavne niti.

Rad će biti iterativan: merenje, optimizacija, ponovo merenje. Posebnu pažnju posvetiću glavnoj niti i zadacima koji se izvršavaju u Application.onCreate() i prvom Activity.onCreate().