HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>Теги: android, viewmodels, жизненный цикл</p>
1 <p>Теги: android, viewmodels, жизненный цикл</p>
2 <h4>ViewModels (модели представления)</h4>
2 <h4>ViewModels (модели представления)</h4>
3 <p>Жизненный цикл модели представления относительно прост - у нее всего лишь один метод обратного вызова, называемый onCleared(). Однако когда мы говорим о ViewModels, нужно понимать различие между фрагментом и активностью. Рамки их действия различны:</p>
3 <p>Жизненный цикл модели представления относительно прост - у нее всего лишь один метод обратного вызова, называемый onCleared(). Однако когда мы говорим о ViewModels, нужно понимать различие между фрагментом и активностью. Рамки их действия различны:</p>
4 <p>Обратите внимание, что инициализация происходит каждый раз, когда вы получаете ViewModel, что обычно происходит в onCreate().</p>
4 <p>Обратите внимание, что инициализация происходит каждый раз, когда вы получаете ViewModel, что обычно происходит в onCreate().</p>
5 <h4>Полупрозрачные активности</h4>
5 <h4>Полупрозрачные активности</h4>
6 <p>Название говорит само за себя, поэтому полупрозрачная активность имеет полупрозрачный фон (обычно он совсем прозрачный). В результате пользователь видит, что под ней находится.</p>
6 <p>Название говорит само за себя, поэтому полупрозрачная активность имеет полупрозрачный фон (обычно он совсем прозрачный). В результате пользователь видит, что под ней находится.</p>
7 <p>Если к теме активности применить свойство<em>android:windowIsTranslucent</em>, то диаграмма немного изменится, то есть мы получим ситуацию, когда фоновая активность не останавливается никогда (лишь входит в состояние паузы), поэтому она может продолжать получать UI-обновления. Вот, как выглядит сравнение между обычной и полупрозрачной активностью:</p>
7 <p>Если к теме активности применить свойство<em>android:windowIsTranslucent</em>, то диаграмма немного изменится, то есть мы получим ситуацию, когда фоновая активность не останавливается никогда (лишь входит в состояние паузы), поэтому она может продолжать получать UI-обновления. Вот, как выглядит сравнение между обычной и полупрозрачной активностью:</p>
8 <p>Кроме того, в случае возвращения обратно к задаче, обе активности восстановятся и запустятся, и лишь полупрозрачная возобновится:</p>
8 <p>Кроме того, в случае возвращения обратно к задаче, обе активности восстановятся и запустятся, и лишь полупрозрачная возобновится:</p>
9 <h4>Режимы запуска</h4>
9 <h4>Режимы запуска</h4>
10 <p>Одна из рекомендаций по работе с задачами и стеками переходов проста: следуйте поведению по умолчанию. Подробнее об этом<a>здесь</a>.</p>
10 <p>Одна из рекомендаций по работе с задачами и стеками переходов проста: следуйте поведению по умолчанию. Подробнее об этом<a>здесь</a>.</p>
11 <p>Если же в самом деле требуется<a>режим</a>SINGLE_TOP, то вот диаграмма для ознакомления:</p>
11 <p>Если же в самом деле требуется<a>режим</a>SINGLE_TOP, то вот диаграмма для ознакомления:</p>
12 <p>Для сравнения, обратите внимание на режим singleTask на следующей картинке (однако, скорее всего, его вам использовать не надо):</p>
12 <p>Для сравнения, обратите внимание на режим singleTask на следующей картинке (однако, скорее всего, его вам использовать не надо):</p>
13 <p>Если же вы применяете Navigation Architecture из Jetpack, то получите профит от поддержки Single Top и автоматического искусственного стека переходов.</p>
13 <p>Если же вы применяете Navigation Architecture из Jetpack, то получите профит от поддержки Single Top и автоматического искусственного стека переходов.</p>
14 <p><em>По материалам "<a>The Android Lifecycle cheat sheet - part IV : ViewModels, Translucent Activities and Launch Modes</a>".</em></p>
14 <p><em>По материалам "<a>The Android Lifecycle cheat sheet - part IV : ViewModels, Translucent Activities and Launch Modes</a>".</em></p>
15 <p><em>Предыдущие статьи на эту тему:</em>1.<a>Жизненный цикл Андроид-приложений</a>. 2.<a>Жизненный цикл фрагментов Андроид-приложений</a>. 3.<a>Жизненный цикл Андроид-приложений: навигация и стек переходов</a>.</p>
15 <p><em>Предыдущие статьи на эту тему:</em>1.<a>Жизненный цикл Андроид-приложений</a>. 2.<a>Жизненный цикл фрагментов Андроид-приложений</a>. 3.<a>Жизненный цикл Андроид-приложений: навигация и стек переходов</a>.</p>
16  
16