Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ старт прилоТСния Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

Β«Π₯ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉΒ» запуск Android-прилоТСния

ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚ΡŠ! Π”Π°Π²Π½ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ писал.

Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ сСрия постов ΠΎ процСссС Β«Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠ³ΠΎΒ» запуска Android прилоТСния, с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° наТатия Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡƒ ΠΈ Π΄ΠΎ создания процСсса прилоТСния.

Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ старт прилоТСния Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

ΠžΠ±Ρ‰Π°Ρ схСма

Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ старт прилоТСния Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ «окно»…

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ процСсс прилоТСния, system_server создаСт стартовоС ΠΎΠΊΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ PhoneWindowManager.addSplashScreen():

Π‘Ρ‚Π°Ρ€Ρ‚ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΠΎΠΊΠ° запускаСтся само ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Окно Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° Activity ΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ отрисован ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠ°Π΄Ρ€. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ Β«Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉΒ» запуск. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π΄Π°Π½Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя, поэтому ΠΏΠΎΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ приятным.

Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ старт прилоТСния Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ стартового ΠΎΠΊΠ½Π° бСрСтся ΠΈΠ· drawable-рСсурсов windowSplashscreenContent ΠΈ windowBackground запускаСмого Activity. Π‘Π°Π½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°:

Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ старт прилоТСния Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ восстанавливаСт Activity ΠΈΠ· Ρ€Π΅ΠΆΠΈΠΌΠ° послСднСго экрана(Recent screen), ΠΏΡ€ΠΈ этом Π½Π° наТимая Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡƒ прилоТСния, Ρ‚ΠΎ system_server Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ TaskSnapshotSurface.create(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ стартовоС ΠΎΠΊΠ½ΠΎ ΠΈΠ· ΡƒΠΆΠ΅ сдСланного ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π°.

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ стартовоС ΠΎΠΊΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, system_server Π³ΠΎΡ‚ΠΎΠ² Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ процСсс прилоТСния ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ZygoteProcess.startViaZygote():

Π’ ΠΊΠΎΠ΄Π΅ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ ZygoteProcess.zygoteSendArgsAndGetResult() отправляСт Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ запуска Ρ‡Π΅Ρ€Π΅Π· сокСт Zygote-процСссу.

Β«Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅Β» Zygote-Ρ‹

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ процСсс прилоТСния запускаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ форкания(раздСлСния) ΠΎΡ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Zygote-процСсса…

Π’ΠΊΡ€Π°Ρ‚Ρ†Π΅ ΠΎΠ± этом я писал Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΏΡ€ΠΎ запуск Android-Π°. А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим ΠΏΠΎΠ³Π»ΡƒΠ±ΠΆΠ΅ Π½Π° происходящиС процСссы.

Когда систСма загруТаСтся процСсс Zygote стартуСт ΠΈ выполняСт ΠΌΠ΅Ρ‚ΠΎΠ΄ ZygoteInit.main():

Как Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ ZygoteInit.main() Π΄Π΅Π»Π°Π΅Ρ‚ 2 Π²Π°ΠΆΠ½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ:

Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ старт прилоТСния Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

На Π·Π°ΠΌΠ΅Ρ‚ΠΊΡƒ: Начиная с Android 10 Π΅ΡΡ‚ΡŒ оптимизационная Ρ„ΠΈΡ‡Π° ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Unspecialized App Process, которая ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡƒΠ» Π½Π΅ спСциализированных Zygote-процСссов, для Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ быстрого запуска ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΠ»ΠΎΡΡŒ!

ПослС Ρ„ΠΎΡ€ΠΊΠ° Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ процСсс запускаСт ΠΌΠ΅Ρ‚ΠΎΠ΄ RuntimeInit.commonInit(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ устанавливаСт Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½Ρ‹ΠΉ UncaughtExceptionHandler. Π”Π°Π»Π΅Π΅, процСсс запускаСт ΠΌΠ΅Ρ‚ΠΎΠ΄ ActivityThread.main():

Π’ΡƒΡ‚ происходят Π΄Π²Π΅ интСрСсныС Π²Π΅Ρ‰ΠΈ:

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ

Π’ процСссС system_server ΠΌΠ΅Ρ‚ΠΎΠ΄ ActivityManagerService.attachApplication() Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ActivityManagerService.attachApplicationLocked(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ настройку запускаСмого прилоТСния:

ΠŸΠ°Ρ€ΠΎΡ‡ΠΊΠ° ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ²:

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ 3-ΠΈΠΉ ΠΏΡƒΠ½ΠΊΡ‚ ΠΈ ΡƒΠ·Π½Π°Π΅ΠΌ Ρ‡Ρ‚ΠΎ ΠΈ ΠΊΠ°ΠΊ происходит ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈ рСсурсов прилоТСния. ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ шагов Ρ‚Π°ΠΊΠΎΠΉ:

Π­ΠΏΠΈΠ»ΠΎΠ³

ΠœΡ‹ Π½Π°Ρ‡Π°Π»ΠΈ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Β«Ρ…ΠΎΠ»ΠΎΠ΄Π½ΡƒΡŽΒ» Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ с ΠΎΡ‡Π΅Π½ΡŒ ΠΎΠ±Ρ‰Π΅-абстрагированного уровня:

Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ старт прилоТСния Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ происходит Β«ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌΒ»:

Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ старт прилоТСния Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

Ну Ρ‡Ρ‚ΠΎ ΠΆΠ΅, это Π±Ρ‹Π» Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ пост. Но это Π½Π΅ всС! Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… постах ΠΌΡ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ³Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π² процСсс запуска Android-прилоТСния. ΠžΡΡ‚Π°Π²Π°ΠΉΡ‚Π΅ΡΡŒ с Π½Π°ΠΌΠΈ!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

РусскиС Π‘Π»ΠΎΠ³ΠΈ

Π₯ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ запуск прилоТСния, запуск горячСго старта ΠΈ оптимизация Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ запуска для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π±Π΅Π»ΠΎΠ³ΠΎ экрана

[ЗаявлСниС Blogger] Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΎΠ±Π·ΠΎΡ€, поТалуйста, Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΏΠ΅Ρ‡Π°Ρ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ Π±Π΅Π· Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, спасибо!

Β· Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

БСгодня ΠΌΡ‹ прСдставляСм ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ горячСго запуска прилоТСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ эффСкта открытия прилоТСния Π·Π° считанныС сСкунды. Π˜Ρ‚Π°ΠΊ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ старт ΠΈ горячий старт.

Π₯ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ запуск: ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ запускаСтся Π² этом состоянии послС Π΅Π³ΠΎ закрытия Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ запуска называСтся Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΌ запуском.

Горячий старт: это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ убиваСтся Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΈ всС Π΅Ρ‰Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΡ‹ снова ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ запуска называСтся горячим стартом.

Π—Π°Ρ‚Π΅ΠΌ, Ссли ΠΌΡ‹ посмотрим Π½Π° Π½Π΅Π΄Π°Π²Π½ΠΎ созданный ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΌΡ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ Π½Π΅Π³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ пустой экран ΠΏΡ€ΠΈ запускС Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π·Π°ΠΌΠ΅Π½Π΅ страницы с Π±Π΅Π»Ρ‹ΠΌ экраном страницСй с заставкой, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ я ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π» Π²Ρ‹ΡˆΠ΅. ЀактичСски, эта Ρ‚Π΅ΠΌΠ° замСняСт Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° эффСкт Π±Π΅Π»ΠΎΠ³ΠΎ экрана (фактичСски, Π² Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° я Π½Π°ΠΆΠ°Π», это Π±Ρ‹Π» ΡƒΠΆΠ΅ Π±Π΅Π»Ρ‹ΠΉ экран. Бимулятор ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ экранирован, Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятно Π½Π° мобильном Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π΅)

Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ старт прилоТСния Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

Π—Π°Ρ‡Π΅ΠΌ Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ? Π­Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ наш ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΎΠΏΡ‹Ρ‚. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ наша страница Π±Π΅Π»ΠΎΠ³ΠΎ экрана выглядит ΠΎΡ‡Π΅Π½ΡŒ нСкрасиво, ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это Π²Ρ‹Π·Π²Π°Π½ΠΎ ΠΊΠ°Ρ€Ρ‚ΠΎΠΉ прилоТСния. Если ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ Π½Π° заставку, Ρ‚ΠΎ смоТСм Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ своС Π»ΠΈΡ†ΠΎ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ иллюзию, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ открываСтся Π·Π° считанныС сСкунды. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ, поэтому Π½Π΅ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Π·Π°ΠΉΡ‚ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ нСдостаточно ΠΌΠΎΡ‰Π½Ρ‹ΠΉ, Ρ…Π°-Ρ…Π°.

ΠœΡ‹ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, являСтся Π»ΠΈ ΠΎΠ½ΠΎ иллюзиСй, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ.

Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ устанавливаСм Π΅Π³ΠΎ ΡΡ‚ΠΈΠ»ΡŒ для заставки, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΎΠ½ скрываСт строку Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, панСль состояния ΠΈ полноэкранный Ρ€Π΅ΠΆΠΈΠΌ, Π° Π·Π°Ρ‚Π΅ΠΌ заполняСт вСсь экран Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ выдСляСт Ρ‚Π΅ΠΌΡƒ прилоТСния. Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ настроили это Ρ‚Π°ΠΊ:

Π—Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ эту Ρ‚Π΅ΠΌΡƒ ΠΊ Π½ΡƒΠΆΠ½Ρ‹ΠΌ Π½Π°ΠΌ дСйствиям, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ моя SplashActivity:

НаконСц, запуститС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΈ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ называСтся ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Наша прСдыдущая страница с Π±Π΅Π»Ρ‹ΠΌ экраном Π½Π°ΠΊΠΎΠ½Π΅Ρ†-Ρ‚ΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΠ»Π°ΡΡŒ Π² Π½Π°ΡˆΡƒ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡŽ, которая выглядит красиво ΠΈ достигаСт Ρ†Π΅Π»ΠΈ открытия Π² считанныС сСкунды. Она Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ слуТит Π΄Π²ΡƒΠΌ цСлям!

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Наша SplashActivity Π½Π΅ выполняСт ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΡƒ, просто ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π½Π°ΡˆΡƒ MainActivity нСпосрСдствСнно Π² onCreate. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС, Ссли Π²Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Ρ‚Π΅ слишком ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² SplashActivity, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΡΡ‚Ρ€Π΅Π²Π°Ρ‚ΡŒ Π½Π° заставкС Π½Π° Π΄ΠΎΠ»Π³ΠΎΠ΅ врСмя ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ…ΠΎΠ΄ΠΎΠΌ, ΠΈ нашС Π²Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ вкус.

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ нашСй Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ горячСго старта. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ «Назад», ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» дСйствия выполняСтся onStop, onDestory-> onCreate. Π’Ρ‹Π·Π²Π°Π»Π° нас, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ ΠΈ воссозданным. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΌΡ‹ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π΄ΠΎΠΌΠΎΠΉ ΠΏΠΎ-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ. Π–ΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» дСйствия Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ onStop-> onReStart, поэтому горячСС Π½Π°Ρ‡Π°Π»ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π·Π°ΠΌΠ΅Π½Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄ΠΎΠΌΠΎΠΉ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Π½Π°Π·Π°Π΄. На самом Π΄Π΅Π»Π΅, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ находится Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, поэтому, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ снова Когда Π²Ρ‹ Π½Π°ΠΆΠΌΠ΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΎΠ½ΠΎ запустится Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ.

Однако этот Ρ‚ΠΈΠΏ прилоТСния ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ„ΠΎΠ½Π° QQ, Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ΅ воспроизвСдСниС ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ проигрыватСля, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ° «Назад» блокируСтся, ΠΈΠ»ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΠ° «Назад» для прСдотвращСния случайного касания. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, это зависит ΠΎΡ‚ потрСбностСй нашСго собствСнного прилоТСния.

ΠžΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ наТатия клавиши home.

Β· ИдСя для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ запуска:

Π­Ρ‚ΠΎ Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я Π²ΠΈΠ΄Π΅Π» Π΄Π°Π²Π½Ρ‹ΠΌ-Π΄Π°Π²Π½ΠΎ: ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ страницах-заставках, ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅ ΠΈΡ… вмСстС. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ EventBus, ΠΈ вмСсто Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΏΡ€ΠΈ создании прилоТСния сначала отобраТаСтся страница с заставкой. На страницС заставки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ EventBus для запуска Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ (Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ). ПослС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ этих Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ EventBus для ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ событий Π² основной интСрфСйс.

ИдСя состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ врСмя страницы заставки для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Π° Π½Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΏΡ€ΠΈ создании прилоТСния. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ, ΠΊΠ°ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΊΠΎΠ΄

Наш ΠΆΡƒΡ€Π½Π°Π» Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ порядок ΠΈΡ… выполнСния, Ρ‡Ρ‚ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ нашСго ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΡ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ врСмя Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠ³ΠΎ старта Android-прилоТСния Π½Π° 28%

ΠΠ½ΡˆΡƒ Рустаги ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ прилоТСния Redfin рассказал, ΠΊΠ°ΠΊ ΠΈΠΌ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠ³ΠΎ старта Android-прилоТСния.

Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ старт прилоТСния Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

НовоС β€” слСва, староС β€” справа

Π‘ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΊΠ²Π°Ρ€Ρ‚Π°Π»Π° ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ Π³ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Redfin ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° Π½Π°Π΄ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для iOS ΠΈ Android. Благодаря нСскольким простым Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌ ΠΌΡ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΠ»ΠΈ врСмя Β«Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠ³ΠΎ старта» Π½Π° 28%.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ старт

Π₯ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ старт происходит, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ запускаСт ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ сСссии Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. ΠœΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠ³ΠΎ старта, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ влияСт Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΎΠΏΡ‹Ρ‚ (согласно ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡŽ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ).

ΠœΡ‹ взглянули Π½Π° Π΄Π²Π° Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠ³ΠΎ старта нашСго Android-прилоТСния: запуск экрана ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΈΠ»ΠΈ Π½Π° экрана с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Π΄ΠΎΠΌΠ΅. Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с домашнСго экрана устройства, ΠΌΡ‹ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΈΠΌ экран ΠΊΠ°Ρ€Ρ‚Ρ‹ с блиТайшими Π΄ΠΎΠΌΠ°ΠΌΠΈ, доступными для ΠΏΠΎΠΊΡƒΠΏΠΊΠΈ. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Π΄ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Π½Π° экран с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Π΄ΠΎΠΌΠ΅.

Π˜Π·ΠΌΠ΅Ρ€ΡΡ врСмя Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠ³ΠΎ старта экрана ΠΊΠ°Ρ€Ρ‚Ρ‹, ΠΌΡ‹ β€œΡƒΠ±ΠΈΠ²Π°Π΅ΠΌβ€ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ запускаСм Π΅Π³ΠΎ с домашнСго экрана. Π₯ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ старт Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΊΠ°Ρ€Ρ‚Ρ‹, ΠΎΠ½ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ сСтСвого запроса ΠΎ Π΄ΠΎΠΌΠ°Ρ… Π½Π° ΠΏΡ€ΠΎΠ΄Π°ΠΆΡƒ.

Π₯ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ старт экрана с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Π΄ΠΎΠΌΠ΅ происходит, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π³Π»ΡƒΠ±ΠΎΠΊΡƒΡŽ ссылку Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π’ этом случаС Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ старт Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ основныС подробности: Ρ†Π΅Π½Π°, количСство спалСн, Π²Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ½Π°Ρ‚ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π’Π°ΠΊΠΎΠΉ старт Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ запрос Π½Π° Π΄Π°Π½Π½Ρ‹Π΅ для ΠΏΠΎΠΊΠ°Π·Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π΄ΠΎΠΌΠ΅.

Π’ этом постС ΠΌΡ‹ остановимся Π½Π° Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠΌ стартС экрана ΠΊΠ°Ρ€Ρ‚Ρ‹. МногиС ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈ ΠΊ экрану с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Π΄ΠΎΠΌΠ΅.

ΠŸΠΎΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΌΠ½Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚!

ПослСдниС ΠΏΠ°Ρ€Ρƒ ΠΊΠ²Π°Ρ€Ρ‚Π°Π»ΠΎΠ² ΠΌΡ‹ отслСТивали врСмя Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠ³ΠΎ старта Π² statsD. Π’ΠΎΡ‚ наши ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΌΠ΅Π΄ΠΈΠ°Π½Ρ‹ ΠΈ 90-Π³ΠΎ процСнтиля Π·Π° послСднюю нСдСлю:

Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ старт прилоТСния Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

Π­Ρ‚ΠΎ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΊΠ²Π°Ρ€Ρ‚Π°Π»ΠΎΠΌ:

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² нашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ открываСтся экран ΠΊΠ°Ρ€Ρ‚Ρ‹, ΠΎΠ½ΠΎ, ΠΏΠΎ сути, становится ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠΎΠΉ для Google Maps SDK. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ сравниваСм свои ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ с показатСлями прилоТСния Google ΠšΠ°Ρ€Ρ‚Ρ‹ ΠΈ стрСмимся ΠΈΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ. На Nexus 5x ΠΌΡ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΠ»ΠΈ врСмя Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠ³ΠΎ старта ΠΎΡ‚ 157% показатСля ΠšΠ°Ρ€Ρ‚ Π΄ΠΎ 112%.

Π§Ρ‚ΠΎ ΠΌΡ‹ сдСлали?

Π’ΠΎΡ‚ нСсколько Π³Π»Π°Π²Π½Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ сдСлали для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π§Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ· этого Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ обусловлСны большими ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ заняли нСсколько нСдСль. БэкономлСнноС врСмя основано Π½Π° ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ 90-Π³ΠΎ процСнтиля ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ… statsD.

ДСцСнтрализация AppState β€” 500 мс

ΠŸΡ€ΠΈ запускС нашСго прилоТСния ΠΌΡ‹ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌ Π΄Π΅ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ AppState, Π³Π΄Π΅ содСрТатся всС сохранСнныС Π΄Π°Π½Π½Ρ‹Π΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ запуска прилоТСния с Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ. Π’Π°ΠΌ содСрТится всС: ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (ΠΌΡ‹ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΈΡ… Β«Π²Ρ‹ΡˆΠΈΠ±Π°Π»Π°ΠΌΠΈΒ») Π΄ΠΎ Π²Ρ…ΠΎΠ΄Π° Π² систСму ΠΈ отслСТивания Π΄Π°Π½Π½Ρ‹Ρ…; нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ зависит ΠΎΡ‚ доступности AppState. Как Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, это ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Π΄Π°Π½Π½Ρ‹Ρ…. ΠœΡ‹ внСсли Π΄Π²Π° ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Π΄Π΅ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ:

Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ зависимостСй Dagger β€” 300 мс

Π’ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π»Π΅Ρ‚ ΠΌΡ‹ использовали Roboguice для внСдрСния зависимостСй Π² нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ для Android. Π­Ρ‚ΠΎ оптимизированная для Android вСрсия Π·Π½Π°ΠΊΠΎΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Guice. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Roboguice ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ слишком ΠΌΠ½ΠΎΠ³ΠΎ рСфлСксии, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ замСдляСт ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния. Π’Π°ΠΊΠΆΠ΅ Roboguice ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΠ»Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ Π³ΠΎΠ΄Ρƒ ΠΈ большС Π½Π΅ являСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ.

Π‘ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈΡΡŒ Π½Π° Dagger, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² настоящСС врСмя являСтся самой популярной DI-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ для Android. Она большС фокусируСтся Π½Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π°, Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ рСфлСксии ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Π°.

ΠšΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… для Ρ‚Ρ€Π΅ΠΊΠΈΠ½Π³Π° β€” 300 мс

ΠœΡ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π»ΠΈ ID устройства для сбора ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³ΠΎΠ²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запускС прилоТСния. Π­Ρ‚ΠΈ ID Ρ€Π΅Π΄ΠΊΠΎ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ, ΠΈ ΠΌΡ‹ смогли ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° просто сохранили ID Π² локальном кэшС ΠΈ Π½Π°Ρ‡Π°Π»ΠΈ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ обновлСния Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ процСссС.

Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Π½Π° экранС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π΄ΠΎΠΌΠ΅ β€” 500 мс

Наш экран с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Π΄ΠΎΠΌΠ΅ прСдставляСт ΠΈΠ· сСбя Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ ScrollView, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит массу ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π΄ΠΎΠΌΠ΅. РаньшС ΠΌΡ‹ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΈ Π½Π° этом экранС сразу всС, Ρ‡Ρ‚ΠΎ сильно замСдляло Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ. ВмСсто этого ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π½Π° Π΄Π²Π΅ сСкции: Π²Π΅Ρ€Ρ…Π½ΡŽΡŽ ΠΈ ниТнюю. ВСрхняя Ρ‡Π°ΡΡ‚ΡŒ экрана содСрТит ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ: фотогалСрСя, Ρ†Π΅Π½Π°, количСство Π²Π°Π½Π½Ρ‹Ρ… ΠΈ спалСн ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. ΠšΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ части Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ описаниС Тилья, ΠΊΠ°Ρ€Ρ‚Ρƒ мСстности, ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ собствСнности ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Π Π°Π·Π΄Π΅Π»ΠΈΠ² элСмСнты Π½Π° Π΄Π²Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ, ΠΌΡ‹ смогли Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈΡ… ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠœΡ‹ наполняСм ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½ΡŽΡŽ Ρ‡Π°ΡΡ‚ΡŒ, ΠΏΠΎΠΊΠ° создаСтся Fragment для нашСй страницы. Однако ΠΌΡ‹ смогли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ AsyncLayoutInflater для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° для Π½ΠΈΠΆΠ½Π΅ΠΉ части Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ возвращСния Π² основной ΠΏΠΎΡ‚ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ происходит, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π³ΠΎΡ‚ΠΎΠ² ΠΊ ΠΏΠΎΠΊΠ°Π·Ρƒ. Π’Π°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΡΠ°ΠΌΡƒΡŽ Π²Π°ΠΆΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ сразу, Π½Π΅ замСдляя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ страницы.

Π§Ρ‚ΠΎ дальшС?

БСйчас ΠΌΡ‹ Π΄ΠΎΠ²ΠΎΠ»ΡŒΠ½Ρ‹ показатСлями Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠ³ΠΎ старта нашСй страницы ΠΊΠ°Ρ€Ρ‚Ρ‹. ΠœΡ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° этой ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ рСгрСсса, Π½ΠΎ Ρƒ нас Π½Π΅ Π·Π°ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π° другая Ρ€Π°Π±ΠΎΡ‚Π°. Π’ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ области ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ: врСмя поиска, использованиС памяти ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как Π½Π΅ Π΄Π°Ρ‚ΡŒ Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠΌΡƒ запуску Android прилоТСния ΠΎΡ‚ΠΏΡƒΠ³Π½ΡƒΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ старт прилоТСния Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

ΠœΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΈ создании прилоТСния Π½Π°Ρ†Π΅Π»Π΅Π½Ρ‹ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ быстрый ΠΈ качСствСнный ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚. ΠžΡ‚ этого зависит Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΎΠ±ΡƒΠ΅Ρ‚ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Если запуск прилоТСния Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌ ΠΈ нСприятным, Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·ΠΎΡ‡Π°Ρ€ΠΎΠ²Π°Π½Ρ‹ Π΅Ρ‰Π΅ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΡŽΡ‚ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ старт прилоТСния Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

КакиС Π²ΠΈΠ΄Ρ‹ запуска прилоТСния ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚

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

Π₯ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ старт

Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ старт прилоТСния Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡ΠΎΠΊ прилоТСния,
событиС click пСрСводится Π² startActivity(intent) ΠΈ направляСтся Π² ActivityManagerService Ρ‡Π΅Ρ€Π΅Π· Binder IPC, Π° ActivityManagerService выполняСт нСсколько шагов:

Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ старт прилоТСния Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

Горячий старт

Горячий старт – это ΠΊΠΎΠ³Π΄Π° дСйствия вашСго прилоТСния находятся Π² памяти ΠΈ процСсс вашСго прилоТСния ΡƒΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. ΠŸΡ€ΠΈ горячСм запускС всС, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ систСмС, – это вывСсти Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ вашСго прилоТСния Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π½ΠΈΠΉ ΠΏΠ»Π°Π½. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ быстрым, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ систСмС Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, поэтому Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ мСньшС.

Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ старт прилоТСния Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ дСйствиС с экрана «НСдавниС» вмСсто наТатия Π·Π½Π°Ρ‡ΠΊΠ° срСдства запуска, Ρ‚ΠΎ процСсс Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ TaskSnapshotSurface.create() для создания Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ отобраТаСтся сохранСнный снимок дСйствия.

ΠŸΡ€ΠΈ горячСм запускС Π½Π° экранС отобраТаСтся Ρ‚ΠΎ ΠΆΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ ΠΏΡ€ΠΈ Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠΌ запускС: систСмный процСсс ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ пустой экран Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ дСйствия.

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ запуск Π±ΠΎΠ»Π΅Π΅ приятным ΠΈ Π½Π΅ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΡŽΠ·Π΅Ρ€ экспириСнс?

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€ΠΈ взаимодСйствии с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ скорСС ΠΈΠΌΠ΅Ρ‚ΡŒ доступ ΠΊ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Ρƒ, ΠΈ этот β€œΡΡ‚Π°Ρ€Ρ‚ΠΎΠ²Ρ‹ΠΉβ€ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ с Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΈΠ»ΠΈ ΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΎΡ‚ΠΈΠΏ прилоТСния.

Π”Π°Π»Π΅Π΅ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Π² Ρ‚Π΅ΠΌΠ΅ прилоТСния (values >themes.xml section) :

Π’ качСствС ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΎΡ‚ΠΈΠΏ прилоТСния ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ добавляли для стартового ΠΎΠΊΠ½Π°:

И Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π² ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ экрана взаимодСйствия Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ†Π²Π΅Ρ‚, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠ½Π°Ρ‡Π΅ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Π·Π°Π΄Π°Π»ΠΈ Π² Ρ‚Π΅ΠΌΠ΅:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘ΠžΠ”Π•Π Π–ΠΠΠ˜Π•

Π—Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹Π΅ систСмы

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Ρ‚Ρ€ΠΈ случая Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠ³ΠΎ старта:

НовоС сообщСство

Новая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° сообщСства, ΠΈΠ»ΠΈ систСмная самозагрузка, относится ΠΊ запуску систСмы, ΠΊΠΎΠ³Π΄Π° практичСски отсутствуСт информация, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒΡΡ. Π­Ρ‚ΠΎΡ‚ случай прСдставляСт собой нСдостатки ΠΊΠ°ΠΊ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ρ‚Π°ΠΊ ΠΈ случая Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ всС элСмСнты ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹ΠΌΠΈ. Из-Π·Π° этого Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этих Π΄Π²ΡƒΡ… случаСв, Π½Π΅ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ ΠΊ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ систСмы.

Новый ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚

Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ старт прилоТСния Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

Π’ контСкстС ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠ² Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠ³ΠΎ старта Π²Π°ΠΆΠ½Π° ΠΏΡ€Π΅Π΄Π²Π·ΡΡ‚ΠΎΡΡ‚ΡŒ популярности, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹, Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… мСсяцСв, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ лишь нСсколько взаимодСйствий. Π­Ρ‚ΠΎ создаСт ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ нСпопулярныС элСмСнты Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ»ΠΎΡ…ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Ρ‹, поэтому ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΌΠ΅Π½Π΅Π΅ Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹, Ρ‡Π΅ΠΌ популярныС, ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π±ΠΎΡ€ΠΎΡ‚ΡŒΡΡ Π·Π° взаимодСйствиС. Π₯отя оТидаСтся, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ элСмСнты Π±ΡƒΠ΄ΡƒΡ‚ ΠΌΠ΅Π½Π΅Π΅ популярны, Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, эта ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Π² частности, относится ΠΊ Ρ‚ΠΎΠΌΡƒ Ρ„Π°ΠΊΡ‚Ρƒ, Ρ‡Ρ‚ΠΎ Ρƒ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ нСдостаточно ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ для совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π·Π½Π°Ρ‡ΠΈΠΌΡ‹ΠΌ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π½ΠΎΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ тСорСтичСски Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Ρ‹ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ‚Π΅Π»ΠΈ Π½Π° основС ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚, ΠΊΠ°ΠΊΠΈΠ΅ элСмСнты Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Ρ‚ΡŒ, Π² зависимости ΠΎΡ‚ характСристик, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠ½ΠΈ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚, Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ отсутствии взаимодСйствия с Π½ΠΎΠ²Ρ‹ΠΌ элСмСнтом, всС ΠΆΠ΅ Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ позволят ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΡŽ. Π­Ρ‚ΠΎ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт ΡƒΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ описан своими Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ Π½Π΅ всСгда Ρ‚Π°ΠΊ. Рассмотрим случай Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… характСристик (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, рСТиссСр, состав, Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Π³ΠΎΠ΄), ΠΎΠ½ΠΈ всСгда извСстны, ΠΊΠΎΠ³Π΄Π° элСмСнт, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Ρ„ΠΈΠ»ΡŒΠΌ, добавляСтся Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³. Однако Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²ΠΈΠ΄Ρ‹ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ Π±Ρ‹Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, функциями, ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ· ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΎΠ±Π·ΠΎΡ€ΠΎΠ² ΠΈ Ρ‚Π΅Π³ΠΎΠ². Алгоритмы Π½Π° основС ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°, основанныС Π½Π° функциях, прСдоставляСмых ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Ρ‚Π°ΠΊΠΆΠ΅ ΡΡ‚Ρ€Π°Π΄Π°ΡŽΡ‚ ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Ρ…ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΌ запуском элСмСнтов, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ для Π½ΠΎΠ²Ρ‹Ρ… элСмСнтов, Ссли Π½Π΅Ρ‚ (ΠΈΠ»ΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»ΠΎ) взаимодСйствий, Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ доступны (ΠΈΠ»ΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»ΠΎ) ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΎΠ±Π·ΠΎΡ€ΠΎΠ² ΠΈ Ρ‚Π΅Π³ΠΎΠ².

Новый ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ

Π‘Ρ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΠΈ смягчСния послСдствий

Из-Π·Π° большого количСства доступных Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚ΠΈΠΏΠ° ΠΈ характСристик систСмы Π±Ρ‹Π»ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ мноТСство стратСгий для смягчСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠ³ΠΎ запуска. Основной ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ‚Π΅Π»ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΌΡΠ³Ρ‡ΠΈΡ‚ΡŒ нСдостатки ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ, комбинируя Π΅Π΅ с Π΄Ρ€ΡƒΠ³ΠΎΠΉ.

ВсС Ρ‚Ρ€ΠΈ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠ³ΠΎ старта (Π½ΠΎΠ²ΠΎΠ΅ сообщСство, Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт ΠΈ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ) ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ±Ρ‰Π΅Π΅ отсутствиС взаимодСйствия с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ‰ΠΈΠ΅ Ρ‡Π΅Ρ€Ρ‚Ρ‹ Π² стратСгиях, доступных для ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ профиля

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ профиля ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ ΠΏΡƒΡ‚Π΅ΠΌ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… дСйствий ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ истории просмотра ΠΈΠ»ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтСй. Если, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ‡ΠΈΡ‚Π°Π» ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½ΠΎΠΌ исполнитСлС с ΠΌΠ΅Π΄ΠΈΠ°-ΠΏΠΎΡ€Ρ‚Π°Π»Π°, Ρ‚ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ систСма Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ΡŒ Ρ€Π΅Π»ΠΈΠ·Ρ‹ этого исполнитСля, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ посСщаСт ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Π³Π°Π·ΠΈΠ½.

Π Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° являСтся автоматичСскоС присвоСниС ΠΎΡ†Π΅Π½ΠΎΠΊ Π½ΠΎΠ²Ρ‹ΠΌ элСмСнтам Π½Π° основС ΠΎΡ†Π΅Π½ΠΎΠΊ, присвоСнных сообщСством Π΄Ρ€ΡƒΠ³ΠΈΠΌ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ элСмСнтам. Бходство ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒΡΡ Π² соотвСтствии с характСристиками ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠ², основанными Π½Π° содСрТании.

Π’Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π° основС личностных характСристик ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ для создания пСрсонализированных Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ. ЛичностныС характСристики ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°ΠΊΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ личности, ΠΊΠ°ΠΊ пятифакторная модСль (FFM).

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

Π’Π·Π²Π΅ΡˆΠΈΠ²Π°Π½ΠΈΠ΅ Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

Π’ частности, Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ взвСшивания характСристик Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ для области Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы. НСкоторыС ΠΈΠ· Π½ΠΈΡ… ΠΈΠ·ΡƒΡ‡Π°ΡŽΡ‚ вСс Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ взаимодСйствиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с элСмСнтами, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ FBSM. Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΡƒΡŽ модСль совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΎΠ±ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ Π½Π° Ρ‚Π΅ΠΏΠ»Ρ‹Ρ… элСмСнтах, ΠΈ ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ ΡƒΠ·Π½Π°Ρ‚ΡŒ вСса Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°Ρ‚ΡŒΡΡ ΠΊ совмСстной ΠΌΠΎΠ΄Π΅Π»ΠΈ.

ДиффСрСнциация вСсов рСгуляризации

Π’Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π½Π° Π°Ρ„Ρ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ элСмСнтов. НСдавно появился Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ смягчаСт ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠ³ΠΎ старта, устанавливая Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠ΅ ограничСния для скрытых Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², связанных с элСмСнтами ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ большС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, популярныС элСмСнты ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ), ΠΈ устанавливаСт Π±ΠΎΠ»Π΅Π΅ высокиС ограничСния для Π΄Ρ€ΡƒΠ³ΠΈΡ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠ΅Π½Π΅Π΅ популярныС элСмСнты). ΠΈ Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ). Показано, Ρ‡Ρ‚ΠΎ ΠΎΡ‚ этой стратСгии Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Π²Π°ΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ. Π”ΠΈΡ„Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ вСса рСгуляризации ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ стратСгиями смягчСния послСдствий Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠ³ΠΎ старта.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *