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().