π Π§Π΅ΠΊ-Π»ΠΈΡΡ: ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
Π§ΡΠΎΠ±Ρ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π±ΡΡΡΡΠΎ ΠΈ Π±Π΅Π· Π»Π°Π³ΠΎΠ², ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠΈΡ
ΠΏΡΠ½ΠΊΡΠΎΠ²:
βοΈ UI ΠΈ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³β ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ RecyclerView/LazyColumn Π΄Π»Ρ ΡΠΏΠΈΡΠΊΠΎΠ²
β ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠΉΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ
β ΠΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ overdraw (Π»ΠΈΡΠ½ΡΡ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°)
β ΠΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΡΠΉΡΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΡ layout-ΡΠ°ΠΉΠ»ΠΎΠ²
βοΈ ΠΠ°Π½Π½ΡΠ΅ ΠΈ ΡΠ΅ΡΡβ ΠΡΡΠΈΡΡΠΉΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ (OkHttp, Retrofit)
β ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΡ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΡ
Π΄Π°Π½Π½ΡΡ
β ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠΉΡΠ΅ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ
(Room, Realm)
β Π‘ΠΆΠΈΠΌΠ°ΠΉΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (WebP, Glide/Picasso)
βοΈ ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡβ ΠΠ°ΠΌΠ΅ΡΡΠΉΡΠ΅ FPS (ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π΄ΡΠΎΠΏΠΎΠ²)
β ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΡΠ΅ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ (LeakCanary)
β ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠΉΡΠ΅ Ρ
ΠΎΠ»ΠΎΠ΄Π½ΡΠΉ/Π³ΠΎΡΡΡΠΈΠΉ ΡΡΠ°ΡΡ
β ΠΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΡΠΉΡΠ΅ ΡΠ°Π·ΠΌΠ΅Ρ APK (ProGuard, R8)
ΠΠ°ΠΊ ΠΎΡΠ΅Π½ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ? ΠΠ·ΠΌΠ΅ΡΡΡΠ΅ Π΄ΠΎ ΠΈ ΠΏΠΎΡΠ»Π΅:
β ΠΡΠ΅ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
β ΠΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ (Android Studio Profiler, Xcode Instruments)
β Π Π°Π·ΠΌΠ΅Ρ APK/IPA
β Π‘ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠΊΠ»ΠΈΠΊΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
πΈ ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° #Π±ΡΡΡ