Навигация и надгробие - лучшие практики - PullRequest
2 голосов
/ 25 ноября 2010

Я только учусь тому, как перемещаться между страницами и надгробия.Мне интересно, кто-нибудь может привести мне несколько хороших примеров, которые показывают не только основы правильного использования навигации, но и хорошие примеры более сложных и сложных вопросов навигации?

  • Некоторые вопросы, которые я задаювращались вокруг утечек памяти при переходе на другие страницы и переходе назад?
  • Есть ли закрытый вызов страницы после того, как страница выполнила свою работу (я не хочу, чтобы ее экземпляр зависал после того, как я закончу с ней)?
  • Другой вопроскак сохранить состояние, если приложение захоронено (все еще пытаясь обернуть голову вокруг этого термина).

Спасибо!

Ответы [ 4 ]

4 голосов
/ 26 ноября 2010

Нет вызова закрытой страницы, ОС автоматически закрывает страницы, когда они возвращаются назад, и освобождает использованную память (поэтому здесь не должно быть утечек).

Некоторые ресурсы здесь, которые охватывают надгробные и продвинутые концепции навигации.

Понимание модели выполнения приложений Windows Phone, Tombstoning, Launcher и селекторов, и еще немного вещей, которые находятся в пути - Часть 1 , Часть 2 , Часть 3

Представление концепции «Места» - Блог Питера Торра

Перенаправление начальной навигации - Блог Питера Торра

1 голос
/ 08 декабря 2010

Другой вопрос, как мне поддерживать состояние, если приложение захоронено (все еще пытаясь обернуть голову вокруг этого термина).

Использовать изолированное хранилище.

1 голос
/ 25 ноября 2010

Мне нравится думать о WP7-навигации как о простом браузере, в котором есть только кнопка «Назад».Модель навигации основана на шаблоне стека (Last In First Out), необходимо пройти через все, чтобы вернуться на первую страницу.Это не то, к чему привыкли пользователи ПК, но в мобильном мире это одно из лучших решений.Вы должны придерживаться этой модели и никогда не нажимать кнопку «Перейти на домашнюю страницу» - ваше приложение не пройдет сертификацию наверняка (есть некоторые обходные пути с исключениями, но я бы не рекомендовал это).Многие страницы могут разозлить пользователя, поэтому хорошая идея - иметь максимум 3-5 страниц.Например, пользователь первой страницы выбирает, что он собирается делать, следующая страница - страница входа, а затем для более сложного интерфейса используйте панораму и управление поворотом.

В простую модель браузера добавьте куки.Когда ваш браузер загружает страницу, он устанавливает куки с некоторой информацией, затем вы закрываете браузер, и когда вы возвращаетесь на страницу, он может получить предыдущее состояние из этого куки.Надгробие очень симаиларское.- ссылка .Еще немного информации о надгробии

Некоторые вопросы, которые у меня возникают, касаются утечек памяти при переходе на другие страницы и переходе назад?

Что вы подразумеваете под утечками памяти?вы работаете в управляемой среде.

Есть ли вызов страницы для закрытия, когда страница выполнит свою работу (я не хочу, чтобы ее экземпляр зависал после завершения работы)?

вам не нужно этого делать.Страница уничтожается каждый раз, когда вы переходите на следующую страницу , если там не работает какой-либо поток.

Другой вопрос, как мне поддерживать состояние, если приложение захоронено (все еще пытаетсяоберните мою голову этим термином).

По сути, это дело девелепора, чтобы справиться с этим.Это не обязательно, но дает хороший пользовательский опыт.

0 голосов
/ 08 декабря 2010

Вы можете взглянуть на инфраструктуру Columbus MVC для исходного кода WP7 (http://columbus.codeplex.com/), которую я недавно опубликовал. Columbus обращается как к навигации, так и к захоронению (обеспечивает строго типизированную навигацию с историей и моделями просмотра, которые могут пережить захоронение).

...