As your customers move your app between the foreground and background, Windows manages your app’s usage of critical system resources. Come learn the fundamentals of Process Lifetime Management and how to structure your app to suspend and resume quickly, save app state properly, and behave consistently. We will also highlight ways to keep your app fresh using push notifications and tile interactivity. Understanding these critical concepts will help you deliver a continuous experience that customers expect.
3. О Себе
• Руководитель департамента веб-разработки
компании Digital Cloud Technologies
• Тренер Microsoft Innovation Center
• Microsoft MVP
• Microsoft Certified Trainer
• Блог: http://reznik.uneta.com.ua
• Твиттер: @DenisReznik
• Email: DenisReznik@live.ru
11. Splash Screens в процессе активации
• Система предоставляет этот
механизм для более цельного
процесса перехода к
приложению
• Показывается в то время, пока
операционка запускает ваше
приложение
• Отображается на протяжении
процесса активации
• Цвет и картинка указываются в
app manifest
• Приложение должно запуститься
в течении 15 сек. Иначе оно
будет завершено
12. Расширенный Splash Screens
• Некоторые приложения грузятся
дольше
• Создавайте своѐ первое
представление идентичное сплэш
скрину
• Splash Screen API может
использоваться для рендеринга сплэш
скрина вручную
13. Активация запуском через тайл
Пользователь activated Приложение
кликает по event запущено
тайлу
args.Kind Показывается
Splash Screen
16. Активация через контракты
• Приложение активируется
через контракт
• Запуск, поиск, ShareTarget, запуск
и т.д..
• Приложение должно launch
инициализировать activated
специфические для
контракта действия shareTarget
• Предоставляется контекст Running App
search
22. Suspend – взгляд изнутри
• Suspended приложения не
обслуживаются ядром системы
• Никакого потребления ресурсов CPU,
Disk или Network
• Все потоки приостанавливаются
23. Suspend – взгляд изнутри
• Приложение остаѐтся в памяти
• Система проверяет что приложение не
находится в критической секции, что
может привести к возникновению
взаимоблокировок
• Приложение немедленно возобновляет
свою работу, когда пользователь
активирует его
30. Когда возникает аварийное завершение?
• Системе нужно больше памяти
• Пользователь переключает аккаунты
• Завершение работы системы
• Ошибка приложения
31. Best Practices работы с состоянием
Сценарий Что делать…
Работа с приложением Инкрементальное сохранение
данных пользователя
Suspending Сохранить где юзер находился
(например открытая страница)
Activated Восстановить сессию юзера так, как
будто он не покидал приложения
Resuming Ничего не делать
33. Summary
• Новая философия Windows базируется на
том как и когда приложения должно работать
• ОС управляет жизненным циклом
приложения
• Активация приложения происходит
посредством контрактов
• Сохраняйте ваше приложение живым:
– Сохраняйте и восстанавливайте состояние
– Используйте живые тайлы
34. Suspend best practices
• Сохраняйте состояние быстро – у вас
есть всего 5 сек.
• Рассматривайте вариант завершения
приложения – сохраняйте сессионные
данные пользователя
• Не держите общие системные ресурсы
(файлы, диски, сеть, и т.д.)
• Сохраняйте данные приложения
инкрементально, до остановки
35. Activation best practices
• Активируйте приложение быстро!
• Инициализируйте приложение
• Отложите выполнение задач
настолько, насколько это возможно
• Знайте, где пользователь находился
• Показывайте расширенный splash
screen, если вам нужно более 15 сек.
для активации
36. Полезные ссылки
• Жизненный цикл приложения (MSDN)
• http://www.buildwindows.com/
• Building Metro style apps forum