MS Swit 2012 - Windows 8 Application Lifecycle

1,162 views

Published on

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.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,162
On SlideShare
0
From Embeds
0
Number of Embeds
279
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

MS Swit 2012 - Windows 8 Application Lifecycle

  1. 1. КРУПНЕЙШАЯ ТЕХНИЧЕСКАЯ КОНФЕРЕНЦИЯ MICROSOFT ВУКРАИНЕ
  2. 2. Денис Резник, Digital Cloud TechnologiesЖИЗНЕННЫЙ ЦИКЛMETRO STYLE ПРИЛОЖЕНИЙ
  3. 3. О Себе• Руководитель департамента веб-разработки компании Digital Cloud Technologies• Тренер Microsoft Innovation Center• Microsoft MVP• Microsoft Certified Trainer• Блог: http://reznik.uneta.com.ua• Твиттер: @DenisReznik• Email: DenisReznik@live.ru
  4. 4. Windows 8
  5. 5. Меняются правила игры Активно много Активно одно приложениеПользователь управляет Система управляет жизненным циклом жизненным циклом
  6. 6. Жизненный цикл приложения
  7. 7. Запуск (Launch)• Процесс не был запущен• Показывается SplashScreen
  8. 8. DemoSplash Screen
  9. 9. Splash Screens в процессе активации• Система предоставляет этот механизм для более цельного процесса перехода к приложению• Показывается в то время, пока операционка запускает ваше приложение• Отображается на протяжении процесса активации• Цвет и картинка указываются в app manifest• Приложение должно запуститься в течении 15 сек. Иначе оно будет завершено
  10. 10. Расширенный Splash Screens• Некоторые приложения грузятся дольше• Создавайте своѐ первое представление идентичное сплэш скрину• Splash Screen API может использоваться для рендеринга сплэш скрина вручную
  11. 11. Активация запуском через тайл Пользователь activated Приложение кликает по event запущено тайлуargs.Kind Показывается Splash Screen
  12. 12. Изменение способа запуска приложенияЗапуск с помощью ярлыка Запуск через тайл, поиск, шару, и т.д.
  13. 13. Контракты App Windows App
  14. 14. Активация через контракты• Приложение активируется через контракт • Запуск, поиск, ShareTarget, запуск и т.д..• Приложение должно launch инициализировать activated специфические для контракта действия shareTarget• Предоставляется контекст Running App search
  15. 15. Активация (Activation)• Launch• Search• Share target• Cached file• Camera• Contact picker• Device
  16. 16. Активация (Activation)• File• File open picker• File save picker• Print task• Protocol
  17. 17. Активация приложенияasync protected override voidOnLaunched(LaunchActivatedEventArgs args){ switch (args.Kind) { case ActivationKind.Launch: break; case ActivationKind.Search: break; case ActivationKind.ShareTarget: break; }}
  18. 18. DemoSearch
  19. 19. Остановка (Suspend)• Переключение пользователем• Низкий заряд батареи
  20. 20. Suspend – взгляд изнутри• Suspended приложения не обслуживаются ядром системы• Никакого потребления ресурсов CPU, Disk или Network• Все потоки приостанавливаются
  21. 21. Suspend – взгляд изнутри• Приложение остаѐтся в памяти• Система проверяет что приложение не находится в критической секции, что может привести к возникновению взаимоблокировок• Приложение немедленно возобновляет свою работу, когда пользователь активирует его
  22. 22. Данные приложения (Application Data)• Сессионные данные• Настройки пользователя• И т.д.
  23. 23. Хранение данных приложения• Локальное хранилище • Settings • Files• Удалѐнное хранилище (roaming)• Временное хранилище
  24. 24. DemoSuspend
  25. 25. Восстановление (Resume )• Переключение пользователем• Батарея заряжается
  26. 26. Завершение (Close)• Alt + F4
  27. 27. Завершение (Terminate)• Процесс завершается• Нет никаких уведомлений об этом событии
  28. 28. Когда возникает аварийное завершение?• Системе нужно больше памяти• Пользователь переключает аккаунты• Завершение работы системы• Ошибка приложения
  29. 29. Best Practices работы с состоянием Сценарий Что делать…Работа с приложением Инкрементальное сохранение данных пользователяSuspending Сохранить где юзер находился (например открытая страница)Activated Восстановить сессию юзера так, как будто он не покидал приложенияResuming Ничего не делать
  30. 30. Работа приложенияЗапускприлож енияSplashscreen
  31. 31. Summary• Новая философия Windows базируется на том как и когда приложения должно работать• ОС управляет жизненным циклом приложения• Активация приложения происходит посредством контрактов• Сохраняйте ваше приложение живым: – Сохраняйте и восстанавливайте состояние – Используйте живые тайлы
  32. 32. Suspend best practices• Сохраняйте состояние быстро – у вас есть всего 5 сек.• Рассматривайте вариант завершения приложения – сохраняйте сессионные данные пользователя• Не держите общие системные ресурсы (файлы, диски, сеть, и т.д.)• Сохраняйте данные приложения инкрементально, до остановки
  33. 33. Activation best practices• Активируйте приложение быстро!• Инициализируйте приложение• Отложите выполнение задач настолько, насколько это возможно• Знайте, где пользователь находился• Показывайте расширенный splash screen, если вам нужно более 15 сек. для активации
  34. 34. Полезные ссылки• Жизненный цикл приложения (MSDN)• http://www.buildwindows.com/• Building Metro style apps forum
  35. 35. СПАСИБО!
  36. 36. КРУПНЕЙШАЯ ТЕХНИЧЕСКАЯ КОНФЕРЕНЦИЯ MICROSOFT В УКРАИНЕ

×