Оптимизируйте все, чтобы сократить время загрузки и максимально быстро адаптировать приложение.

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

Я не хочу задержки между действием «касание» (например, касание элемента в ListBox) и действием навигации (отображение новой страницы).

Я не против, чтобы страница отображалась постепенно. Например, для Bing Map я не против отобразить черную страницу только с заголовком, а секунду спустя, когда появится карта.

Каковы лучшие практики? Это может опубликовать образец, если я не достаточно ясно,

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

Ответы на вопрос(2)

Создайте и перейдите на новую страницу как можно быстрее.

Отображать страницу с содержимым-заполнителем во время загрузки (при необходимости).

Дайте понять, что что-то происходит во время загрузки страницы. Неопределенный индикатор выполнения (используйтеэтот) это соглашение на платформе.

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

Если это возможно / практично, установите размер элементов в xaml / code, чтобы предотвратить ретрансляцию из-за изменения размера после загрузки элемента.

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

и наконец:

Оптимизируйте все, чтобы сократить время загрузки и максимально быстро адаптировать приложение.
Решение Вопроса

что выполнение нетривиальных действий займет, по крайней мере, немного времени.

Наиболее рекомендуемая лучшая практика для того, чтобы справиться с этим, нужно использовать анимацию, чтобы дать пользователю представление о воспринимаемой производительности. Это было постоянной рекомендацией на протяжении всех этапов CTP и Beta командой разработчиков и в презентациях на Mix 10 и Tech Ed 2010.

Переходы страниц - общий подход к этому.

Обсуждается здесь Кевином Маршаллом до включения в ноябрьский инструментарий.

WP7 - Образец переходов страницы

И здесь ссылка на элемент управления в инструментарии.

Переходы для Windows Phone 7

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

не называйте элементы управления, на которые вы не ссылаетесь в кодеиспользовать фоновый рабочий для загрузки любых данных, чтобы избежать влияния на поток пользовательского интерфейса (уже занят загрузкой вашей страницы), и отключить его после загрузки страницы (отключите все элементы управления, не используемые в leui этого) (Phạm Tiểu Giao - Темы в WP7)использовать httpwebrequest через веб-клиента по той же причине (WebClient, HttpWebRequest и поток пользовательского интерфейса на Windows Phone 7)

Я бы также повторил предложение Мэтта не загружать элементы управления, которые изначально не использовались.

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

Создание высокопроизводительных приложений Silverlight для Windows Phone

Советы по разработке WP7, часть 1 - эпический рабочий блог Кевина Маршалла для удивительных людей

Если вы используете списки, ознакомьтесь также с Ореном Нахманом и Дэвидом Ансоном.

WP7 Silverlight Perf Демонстрация 1: VirtualizingStackPanel и StackPanel в виде ListBox ItemsPanel

Сохраняйте низкий профиль LowProfileImageLoader помогает потоку пользовательского интерфейса Windows Phone 7 оставаться отзывчивым, загружая изображения в фоновом режиме

Никогда не делайте сегодня то, что вы можете отложить на завтра DeferredLoadListBox (и StackPanel) помогают Windows Phone 7 прокручивать списки плавно и последовательно

и убедитесь, что размеры изображения оптимизированы для их размера дисплея.

Ваш ответ на вопрос