Вопрос о Silverlight и о том, как загружается приложение

В Silverlight 3.0 теперь мы можем создавать приложения с несколькими страницами, используя структуру навигации. Мой вопрос:

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

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

Спасибо.


person Raha    schedule 30.05.2009    source источник
comment
На самом деле я мало что знаю о Silverlight, но приложение должно загрузиться, прежде чем пользователь сможет его использовать. Невозможно запустить еще не загруженное приложение.   -  person Zifre    schedule 30.05.2009
comment
Да, я полагаю, вы правы, но я подумал, что Microsoft могла спроектировать его таким образом, чтобы каждая страница загружалась, когда мы нажимаем на ссылку.   -  person Raha    schedule 31.05.2009


Ответы (2)


М-м-м...

Если загружен весь XAP, проверьте, как он хранится в кеше браузера.

С другой стороны, вы можете выполнять частичную загрузку, как прокомментировал markti, как определить ваши просмотры? используйте контракт интерфейсов, поэтому вы можете отложить загрузку представлений для отображения по запросу (основное приложение XAP загружает приложение, а также сборки интерфейса, если вы разделяете представления на несколько DLL, возможно, основная страница загружается, а все остальное просто загружается в фоновом режиме).

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

http://timheuer.com/blog/archive/2008/09/24/silverlight-isolated-storage-caching.aspx

person Braulio    schedule 01.06.2009

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

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

person markti    schedule 01.06.2009
comment
Большое спасибо, теперь я рассматриваю пример динамической загрузки XAP. - person Raha; 02.06.2009