Android Live πŸ€–
5.25K subscribers
52 photos
2 videos
806 links
Π‘Π°ΠΌΡ‹Π΅ свСТиС новости, Π½ΠΎΠ²ΠΈΠ½ΠΊΠΈ ΠΈ Ρ‚Ρ€Π΅Π½Π΄Ρ‹ Android ΠΎΡ‚ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.


Автор: @al_gorshkov,
Π§Π°Ρ‚: @android_live_chat
Π›ΠΈΡ‡Π½Ρ‹ΠΉ Π±Π»ΠΎΠ³: @al_gorshkov_blog

Π Π΅ΠΊΠ»Π°ΠΌΡƒ Π½Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽ
Download Telegram
​​Custom View с нуля
#view #optimizations

ΠŸΡ€ΠΈ создании слоТного UI ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, Ρƒ вас Π΅ΡΡ‚ΡŒ нСсколько способов для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°: ΠΊΠ°ΡΡ‚ΠΎΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ стандартный ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΡΡ‰ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΈΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ с нуля.
ПослСдний способ являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ слоТным, ΠΎΠ΄Π½Π°ΠΊΠΎ добавляСт ΠΎΠ΄Π½ΠΎ вСсомоС прСимущСство β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ кастомизации ΠΈ гибкости. Π”Ρ€ΡƒΠ³ΠΈΠ΅ способы Π΄Π°ΡŽΡ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ мСньший ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ кастомизации. πŸ€”

БСгодня, Π½Π°ΡˆΡ‘Π» Ρ†ΠΈΠΊΠ» статСй, Π³Π΄Π΅ Π°Π²Ρ‚ΠΎΡ€ создаёт кастомный Π³Ρ€Π°Ρ„ΠΈΠΊ с нуля. ΠŸΡ€ΠΈ этом объясняя всС Ρ„Π°Π·Ρ‹ отрисовки: Π½Π° ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊΠΎΠΉ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» Ρƒ View, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Profiler для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ отрисовки ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.
Π‘Ρ‚Π°Ρ‚ΡŒΡ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Π° Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ Π½Π΅ Ρ‚Π°ΠΊ часто ΠΏΠΈΡˆΠ΅Ρ‚ кастомныС View, Π½ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ сильнСС ΠΏΠΎΠ³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΡΡ Π² эту ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽ Ρ‚Π΅ΠΌΡƒ.

Бсылки Π½Π° ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΏΠ΅Ρ€Π²ΡƒΡŽ, Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΡŽ части ΡΡ‚Π°Ρ‚ΡŒΠΈ.

Ну ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, с РоТдСством, Π΄Ρ€ΡƒΠ·ΡŒΡ! πŸ˜‰βœ¨
β€‹β€‹ΠšΠ°ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ OkCredit ΡƒΠ»ΡƒΡ‡ΡˆΠΈΠ»ΠΎ запуск прилоТСния
#optimizations

ВрСмя Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠ³ΠΎ запуска прилоТСния β€” ΠΎΠ΄Π½Π° ΠΈΠ· Π²Π°ΠΆΠ½Π΅ΠΉΡˆΠΈΡ… характСристик послС ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ систСмы. Π­Ρ‚ΠΎ особСнно ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹ΠΌ для Ρ‚Π΅Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π½Π° устройствах ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΌΡ‹, ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° этой ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΎΠΉ ΠΈ ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚ΡŒΡΡ Π΅Ρ‘ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒ.

Π’ΡƒΡ‚ своим ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ дСлятся рСбята, Π΄Π΅Π»Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ OkCredit. По ΠΈΡ… Π·Π°ΠΌΠ΅Ρ€Π°ΠΌ, ΠΎΠ½ΠΈ смогли ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ врСмя запуска прилоТСния Π½Π° 70%, Ρ‡Ρ‚ΠΎ вСсьма ΠΊΡ€ΡƒΡ‚ΠΎ.

Π’ΠΎΡ‚ нСсколько Π³Π»Π°Π²Π½Ρ‹Ρ… Β«ΠΏΠΎΠΆΠΈΡ€Π°Ρ‚Π΅Π»Π΅ΠΉΒ» Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ запуска:
πŸ”ΉΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Dagger β€” Π±Ρ‹Π»ΠΈ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹ тяТёлыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Π½Ρ‹ Π½Π° Π»Π΅Π½ΠΈΠ²ΡƒΡŽ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ.
πŸ”Ή инициализация ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ β€” пСрСнСсли ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ API Π² Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ. Π”ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Π½Π΅ стоит ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ всС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚ΡƒΠ΄Π°, вСдь ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, связанныС с отсутсвиСм подходящСго API ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ прилоТСния.
πŸ”Ή ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Π»ΠΈ экран Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ β€” Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ плоскиС View, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΠ»ΠΎ врСмя запуска.
πŸ”Ή ΡƒΠ±Ρ€Π°Π»ΠΈ Firebase trace β€” интСрСсный ΠΏΡƒΠ½ΠΊΡ‚, говорящий ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Firebase performance monitoring ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ запуск прилоТСния. РСбята Ρ€Π΅ΡˆΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ· ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
πŸ”Ή Π΅Ρ‰Ρ‘ ΠΏΠ°Ρ€ΠΎΡ‡ΠΊΡƒ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ², ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅.

Ну Π° Ссли Π²Π°ΠΌ интСрСсно, с Ρ‡Π΅Π³ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ запуска ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚ΠΎ Π²ΠΎΡ‚ ΠΊΡ€ΡƒΡ‚ΠΎΠΉ Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π» πŸ€“
πŸ‘1