Gatsby
ΠΠΠ§ΠΠ«Π
Gatsby
ΠΠΠ§ΠΠ«Π
- Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ
- 10 ΠΠΊΡ 2018
- Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
- 44,441
- ΠΠ°ΠΉΠΊΠΈ
- 204,242
ΠΠ²ΡΠΎΡ: ΠΠΌΠΈΡΡΠΈΠΉ ΠΠΈΠ½ΠΎΠ³ΡΠ°Π΄ΠΎΠ²
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅: ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ (STARTANDROID) (2018)
ΠΡΠ΅Π΄ΡΡΡΠΎΡΠΈΡ
ΠΠ° DroidCon 17 Berlin ΠΌΠ½Π΅ Π΄ΠΎΠ²Π΅Π»ΠΎΡΡ ΠΏΠΎΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎ Π½ΠΎΠ²ΡΠΉ Android Profiler. ΠΠΎΠΊΠ»Π°Π΄ΡΠΈΠΊ ΠΈΠ· Google ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π» ΠΎ Π½ΠΎΠ²ΡΡ ΡΠ΄ΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ , Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΡΠ΅ΡΠ΅Π²ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°. ΠΡΠΎ Π±ΡΠ» ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ Π΄ΠΎΠΊΠ»Π°Π΄, ΠΈ, ΡΠ»ΡΡΠ°Ρ Π΅Π³ΠΎ, Ρ ΠΏΠΎΠ½ΡΠ», ΡΡΠΎ ΡΠ΅ΠΌΠ° ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½Π°Ρ, ΠΈ ΠΎ Π½Π΅ΠΉ Π½Π°Π΄ΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ.
Π ΡΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ ΡΡΠΎΡ ΠΊΡΡΡ
ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ - ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅, ΡΠ΅ΠΌ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΠ±ΡΡΠ½ΠΎ Π²ΡΠΏΠΎΠΌΠΈΠ½Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΠΎΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΆΠ΅ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΎΡΠΌΠ°Ρ Π½ΡΡΡΡΡ.
ΠΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π·Π°ΠΌΠ΅ΡΠ°ΡΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΈ ΠΏΠ»ΠΎΡ ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ Π½ΠΎΠ²ΡΠ΅ ΡΠΈΡΠΈ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½Π°Ρ ΠΏΡΠΈΡΠΈΠ½Π° ΠΏΠ»ΠΎΡ ΠΈΡ ΠΎΡΠ·ΡΠ²ΠΎΠ² Π½Π° ΠΌΠ°ΡΠΊΠ΅ΡΠ΅ - ΡΡΠΎ ΠΏΠ»ΠΎΡ Π°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ Π±Π°Π³ΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ ΡΠ΄Π΅Π»ΡΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π ΡΡΠΎΠΌ ΠΊΡΡΡΠ΅ ΠΌΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π½Π°ΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ°ΡΡΠΈΠΌΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΠΌΠΈ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ΠΈ Π½Π°ΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ. ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠ± ΡΡΠΎΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠΌ ΡΡΠΎΠΊΠ΅.
ΠΠ°ΠΊΡΡ ΠΏΠΎΠ»ΡΠ·Ρ ΠΏΡΠΈΠ½Π΅ΡΡΡ Π²Π°ΠΌ ΡΡΠΈ Π·Π½Π°Π½ΠΈΡ?
Π‘ Π±ΠΎΠ»ΡΡΠΎΠΉ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΡ Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠ°ΡΡ Π΅Π΄ΠΈΠ½ΠΎΠ»ΠΈΡΠ½ΡΠΌ Π³ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Ρ.ΠΊ. ΠΌΠ°Π»ΠΎ ΠΊΡΠΎ ΠΈΠ· ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π²ΡΠ΅ΡΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅ΡΡΡ ΡΡΠΎΠΉ ΡΠ΅ΠΌΠΎΠΉ.
Π Π²Π°ΡΠ΅ ΡΠ΅Π·ΡΠΌΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΏΡΠ½ΠΊΡ Application Performance, Π° Π½Π° ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΡΡ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π½Π° ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π²Ρ Π½Π°ΡΠ»ΠΈ ΠΈ ΠΏΠΎΡΠΈΠΊΡΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈ Π»ΠΈΠΊΠΎΠ², ΡΡΠΊΠΎΡΠΈΠ»ΠΈ ΡΡΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π΄Π²Π° ΡΠ°Π·Π° ΠΈ ΠΈΠ·Π±Π°Π²ΠΈΠ»ΠΈΡΡ ΠΎΡ ΡΠΎΡΠΌΠΎΠ·ΠΎΠ² ΠΏΡΠΈ ΡΠΊΡΠΎΠ»Π»Π΅ ΡΠΏΠΈΡΠΊΠ°. ΠΡΠΈ ΡΡΠΎΠΌ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π²Ρ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π»ΠΈ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ. ΠΡΠ΅ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²Π°ΠΌ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠΌ ΠΏΠ»ΡΡΠΎΠΌ Π² Π³Π»Π°Π·Π°Ρ Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»Ρ.
ΠΠ°ΡΡ ΡΠ°Π· ΠΌΠ΅Π½Ρ Π½Π° ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΏΡΠ°ΡΠΈΠ²Π°Π»ΠΈ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ Π·Π½Π°Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. Π ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΡ ΠΈ Π² ΡΠ΅Π»ΠΎΠΌ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ - ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π°Ρ ΡΠ΅ΠΌΠ°. ΠΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ·Π½ΡΡΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ - ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄. ΠΠ»ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ - ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΌ ΡΠ΅ΠΉΡΠ°Ρ Π΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΈ ΠΊΡΠΎ Π½Π° ΠΊΠΎΠ³ΠΎ Π΄Π΅ΡΠΆΠΈΡ ΡΡΡΠ»ΠΊΡ. ΠΠ»ΠΈ Π²ΡΠ΅ ΡΠ΅ΡΠ΅Π²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΡ, ΡΡΠ΅ΠΊΠ° Π²ΡΠ·ΠΎΠ²Π° ΠΈ ΠΏΠΎΡΠΎΠΊΠ°.
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΊΡΡΡΠ°
Π£ΡΠΎΠΊ 1. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΎΠΌ, ΠΏΠΎΡΠ΅ΠΌΡ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΠΈ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΠΎΠ±ΡΡΡ ΡΡ Π΅ΠΌΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. Π― ΠΎΠΏΠΈΡΡ ΠΏΠ°ΡΡ ΡΠ»ΡΡΠ°Π΅Π² ΠΈΠ· ΠΌΠΎΠ΅ΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΈ ΡΠ°ΡΡΠΊΠ°ΠΆΡ, ΠΎ ΡΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ ΡΡΠΎΡ ΠΊΡΡΡ.
Π£ΡΠΎΠΊ 2. Π‘ΠΎΠ²Π΅ΡΡ ΠΏΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠΈΡ ΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ ΡΠΎΠ²Π΅ΡΠΎΠ² ΠΏΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
Π£ΡΠΎΠΊ 3. StrictMode.
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ StrictMode. Π Π°Π·Π±Π΅ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ Π² UI ΠΏΠΎΡΠΎΠΊΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π΄ΠΈΡΠΊΠΎΠΌ ΠΈΠ»ΠΈ ΡΠ΅ΡΡΡ.
Π£ΡΠΎΠΊ 4. ΠΠ°ΠΌΡΡΡ.
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΠΌ ΠΏΠ°ΠΌΡΡΡ: Π½Π° ΡΡΠΎ ΠΎΠ½Π° ΡΠ°ΡΡ ΠΎΠ΄ΡΠ΅ΡΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Garbage Collector, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ ΡΠ·Π½Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. Π ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΡΠ΅ΠΆΠΈΠΌ Low memory ΠΈ ΠΌΠ΅ΡΠΎΠ΄ onTrimMemory, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠΎΡΠΈΡ Π½Π°Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ.
Π£ΡΠΎΠΊ 5. Memory Profiler. Allocation.
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°Π΅ΠΌΡΡ, ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Memory Profiler ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΡΡ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΡΠ°ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
Π£ΡΠΎΠΊ 6. Memory Profiler. Dump.
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Memory Dump, ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ, ΠΊΠ°ΠΊ ΡΠΈΡΠ°ΡΡ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅.
Π£ΡΠΎΠΊ 7. Π£ΡΠ΅ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ. Π§ΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ.
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΡΠ·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΡΠ΅ΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ, ΠΈ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½Π° ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ. ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΡΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ ΠΊΠ°ΠΊ ΡΠ»Π°Π±Π°Ρ ΡΡΡΠ»ΠΊΠ° WeakReference, Anonymous class ΠΈ ΡΠΊΡΡΡΠ°Ρ ΡΡΡΠ»ΠΊΠ°.
Π£ΡΠΎΠΊ 8. Π£ΡΠ΅ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ°ΠΊ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΠΎΠ½Π° Π΅ΡΡΡ, ΠΈ ΠΊΠ°ΠΊ Π΅Π΅ Π½Π°ΠΉΡΠΈ.
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΡΠΎ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΅ΡΡΡ ΡΡΠ΅ΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ, ΠΈ ΠΊΠ°ΠΊ Π΅Π΅ Π½Π°ΠΉΡΠΈ.
Π£ΡΠΎΠΊ 9. Π£ΡΠ΅ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ. LeakCanary.
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ LeakCanary: ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠΈΡΠ°ΡΡ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ. ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ ΠΈΠ·ΡΡΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΡΡΠΎΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π»ΠΈΠΊΠΎΠ².
Π£ΡΠΎΠΊ 10. CPU Profiler.
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΡΠ°Π±ΠΎΡΡ Ρ CPU ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅ΡΠΎΠΌ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΊΡΠ°Π½.
Π£ΡΠΎΠΊ 11. CPU Profiler. Π‘ΡΠ΅ΠΊ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π½Π°ΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠ΅ΠΊΠ° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²: Call Chart, Flame Chart, Top Down, Bottom Up.
Π£ΡΠΎΠΊ 12. CPU Profiler. Π Π΅ΠΆΠΈΠΌΡ Π·Π°ΠΏΠΈΡΠΈ ΡΡΠ΅ΠΊΠ° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π½Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π°ΠΏΠΈΡΠΈ ΡΡΠ΅ΠΊΠ° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅:
Π‘ΠΊΠ°ΡΠ°ΡΡ:
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅: ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ (STARTANDROID) (2018)
ΠΡΠ΅Π΄ΡΡΡΠΎΡΠΈΡ
ΠΠ° DroidCon 17 Berlin ΠΌΠ½Π΅ Π΄ΠΎΠ²Π΅Π»ΠΎΡΡ ΠΏΠΎΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎ Π½ΠΎΠ²ΡΠΉ Android Profiler. ΠΠΎΠΊΠ»Π°Π΄ΡΠΈΠΊ ΠΈΠ· Google ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π» ΠΎ Π½ΠΎΠ²ΡΡ ΡΠ΄ΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ , Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΡΠ΅ΡΠ΅Π²ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°. ΠΡΠΎ Π±ΡΠ» ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ Π΄ΠΎΠΊΠ»Π°Π΄, ΠΈ, ΡΠ»ΡΡΠ°Ρ Π΅Π³ΠΎ, Ρ ΠΏΠΎΠ½ΡΠ», ΡΡΠΎ ΡΠ΅ΠΌΠ° ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½Π°Ρ, ΠΈ ΠΎ Π½Π΅ΠΉ Π½Π°Π΄ΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ.
Π ΡΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ ΡΡΠΎΡ ΠΊΡΡΡ
ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ - ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅, ΡΠ΅ΠΌ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΠ±ΡΡΠ½ΠΎ Π²ΡΠΏΠΎΠΌΠΈΠ½Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΠΎΡ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΆΠ΅ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΎΡΠΌΠ°Ρ Π½ΡΡΡΡΡ.
ΠΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π·Π°ΠΌΠ΅ΡΠ°ΡΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΈ ΠΏΠ»ΠΎΡ ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ Π½ΠΎΠ²ΡΠ΅ ΡΠΈΡΠΈ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½Π°Ρ ΠΏΡΠΈΡΠΈΠ½Π° ΠΏΠ»ΠΎΡ ΠΈΡ ΠΎΡΠ·ΡΠ²ΠΎΠ² Π½Π° ΠΌΠ°ΡΠΊΠ΅ΡΠ΅ - ΡΡΠΎ ΠΏΠ»ΠΎΡ Π°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ Π±Π°Π³ΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ ΡΠ΄Π΅Π»ΡΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π ΡΡΠΎΠΌ ΠΊΡΡΡΠ΅ ΠΌΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π½Π°ΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ°ΡΡΠΈΠΌΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΠΌΠΈ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ΠΈ Π½Π°ΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ. ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠ± ΡΡΠΎΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎΠΌ ΡΡΠΎΠΊΠ΅.
ΠΠ°ΠΊΡΡ ΠΏΠΎΠ»ΡΠ·Ρ ΠΏΡΠΈΠ½Π΅ΡΡΡ Π²Π°ΠΌ ΡΡΠΈ Π·Π½Π°Π½ΠΈΡ?
Π‘ Π±ΠΎΠ»ΡΡΠΎΠΉ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΡ Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠ°ΡΡ Π΅Π΄ΠΈΠ½ΠΎΠ»ΠΈΡΠ½ΡΠΌ Π³ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Ρ.ΠΊ. ΠΌΠ°Π»ΠΎ ΠΊΡΠΎ ΠΈΠ· ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π²ΡΠ΅ΡΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅ΡΡΡ ΡΡΠΎΠΉ ΡΠ΅ΠΌΠΎΠΉ.
Π Π²Π°ΡΠ΅ ΡΠ΅Π·ΡΠΌΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΏΡΠ½ΠΊΡ Application Performance, Π° Π½Π° ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΡΡ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π½Π° ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π²Ρ Π½Π°ΡΠ»ΠΈ ΠΈ ΠΏΠΎΡΠΈΠΊΡΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈ Π»ΠΈΠΊΠΎΠ², ΡΡΠΊΠΎΡΠΈΠ»ΠΈ ΡΡΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π΄Π²Π° ΡΠ°Π·Π° ΠΈ ΠΈΠ·Π±Π°Π²ΠΈΠ»ΠΈΡΡ ΠΎΡ ΡΠΎΡΠΌΠΎΠ·ΠΎΠ² ΠΏΡΠΈ ΡΠΊΡΠΎΠ»Π»Π΅ ΡΠΏΠΈΡΠΊΠ°. ΠΡΠΈ ΡΡΠΎΠΌ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π²Ρ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π»ΠΈ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ. ΠΡΠ΅ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π²Π°ΠΌ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠΌ ΠΏΠ»ΡΡΠΎΠΌ Π² Π³Π»Π°Π·Π°Ρ Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»Ρ.
ΠΠ°ΡΡ ΡΠ°Π· ΠΌΠ΅Π½Ρ Π½Π° ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΏΡΠ°ΡΠΈΠ²Π°Π»ΠΈ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ Π·Π½Π°Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. Π ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΡΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΡ ΠΈ Π² ΡΠ΅Π»ΠΎΠΌ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ - ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π°Ρ ΡΠ΅ΠΌΠ°. ΠΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ·Π½ΡΡΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ - ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄. ΠΠ»ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ - ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΌ ΡΠ΅ΠΉΡΠ°Ρ Π΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΈ ΠΊΡΠΎ Π½Π° ΠΊΠΎΠ³ΠΎ Π΄Π΅ΡΠΆΠΈΡ ΡΡΡΠ»ΠΊΡ. ΠΠ»ΠΈ Π²ΡΠ΅ ΡΠ΅ΡΠ΅Π²ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΡ, ΡΡΠ΅ΠΊΠ° Π²ΡΠ·ΠΎΠ²Π° ΠΈ ΠΏΠΎΡΠΎΠΊΠ°.
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΊΡΡΡΠ°
Π£ΡΠΎΠΊ 1. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΎΠΌ, ΠΏΠΎΡΠ΅ΠΌΡ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΠΈ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΠΎΠ±ΡΡΡ ΡΡ Π΅ΠΌΡ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. Π― ΠΎΠΏΠΈΡΡ ΠΏΠ°ΡΡ ΡΠ»ΡΡΠ°Π΅Π² ΠΈΠ· ΠΌΠΎΠ΅ΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΈ ΡΠ°ΡΡΠΊΠ°ΠΆΡ, ΠΎ ΡΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ ΡΡΠΎΡ ΠΊΡΡΡ.
Π£ΡΠΎΠΊ 2. Π‘ΠΎΠ²Π΅ΡΡ ΠΏΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠΈΡ ΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ ΡΠΎΠ²Π΅ΡΠΎΠ² ΠΏΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
Π£ΡΠΎΠΊ 3. StrictMode.
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ StrictMode. Π Π°Π·Π±Π΅ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΡΠ·Π½Π°ΡΡ, ΡΡΠΎ Π² UI ΠΏΠΎΡΠΎΠΊΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π΄ΠΈΡΠΊΠΎΠΌ ΠΈΠ»ΠΈ ΡΠ΅ΡΡΡ.
Π£ΡΠΎΠΊ 4. ΠΠ°ΠΌΡΡΡ.
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΠΌ ΠΏΠ°ΠΌΡΡΡ: Π½Π° ΡΡΠΎ ΠΎΠ½Π° ΡΠ°ΡΡ ΠΎΠ΄ΡΠ΅ΡΡΡ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Garbage Collector, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ ΡΠ·Π½Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. Π ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΡΠ΅ΠΆΠΈΠΌ Low memory ΠΈ ΠΌΠ΅ΡΠΎΠ΄ onTrimMemory, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠΎΡΠΈΡ Π½Π°Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ.
Π£ΡΠΎΠΊ 5. Memory Profiler. Allocation.
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°Π΅ΠΌΡΡ, ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Memory Profiler ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΡΡ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΡΠ°ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
Π£ΡΠΎΠΊ 6. Memory Profiler. Dump.
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Memory Dump, ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ, ΠΊΠ°ΠΊ ΡΠΈΡΠ°ΡΡ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅.
Π£ΡΠΎΠΊ 7. Π£ΡΠ΅ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ. Π§ΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ.
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΡΠ·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΡΠ΅ΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ, ΠΈ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½Π° ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ. ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΡΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ ΠΊΠ°ΠΊ ΡΠ»Π°Π±Π°Ρ ΡΡΡΠ»ΠΊΠ° WeakReference, Anonymous class ΠΈ ΡΠΊΡΡΡΠ°Ρ ΡΡΡΠ»ΠΊΠ°.
Π£ΡΠΎΠΊ 8. Π£ΡΠ΅ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ°ΠΊ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΠΎΠ½Π° Π΅ΡΡΡ, ΠΈ ΠΊΠ°ΠΊ Π΅Π΅ Π½Π°ΠΉΡΠΈ.
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΡΠΎ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΅ΡΡΡ ΡΡΠ΅ΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ, ΠΈ ΠΊΠ°ΠΊ Π΅Π΅ Π½Π°ΠΉΡΠΈ.
Π£ΡΠΎΠΊ 9. Π£ΡΠ΅ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ. LeakCanary.
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ LeakCanary: ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠΈΡΠ°ΡΡ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ. ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ ΠΈΠ·ΡΡΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΡΡΠΎΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π»ΠΈΠΊΠΎΠ².
Π£ΡΠΎΠΊ 10. CPU Profiler.
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΡΠ°Π±ΠΎΡΡ Ρ CPU ΠΏΡΠΎΡΠ°ΠΉΠ»Π΅ΡΠΎΠΌ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΊΡΠ°Π½.
Π£ΡΠΎΠΊ 11. CPU Profiler. Π‘ΡΠ΅ΠΊ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π½Π°ΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠ΅ΠΊΠ° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²: Call Chart, Flame Chart, Top Down, Bottom Up.
Π£ΡΠΎΠΊ 12. CPU Profiler. Π Π΅ΠΆΠΈΠΌΡ Π·Π°ΠΏΠΈΡΠΈ ΡΡΠ΅ΠΊΠ° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π½Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π°ΠΏΠΈΡΠΈ ΡΡΠ΅ΠΊΠ° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅:
Π‘ΠΊΡΡΡΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π΄Π»Ρ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ!
Π‘ΠΊΠ°ΡΠ°ΡΡ:
ΠΠ»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠΊΡΡΡΠΎΠ³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΠΎΠΉΡΠΈ ΠΈΠ»ΠΈ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ.