Я читал, что приложения Wp8.1 (XAML) - это новый способ создания приложений для Windows Phone 8.1, а код очень многократно используется для приложений Windows 8.1 для настольных компьютеров ,WP SilverLight 8.1 против WP 8.1 (XAML) за и против
Но я немного обеспокоен, так как выполнение одного поиска из контактов (ContactManager в WP8.1 XAML) намного медленнее, чем у Silverlight.
Простое возвращение всех контактов из моей повестки дня (240 контактов с электронными письмами, эскизами и т. Д.) Занимает 3 секунды в моей Lumia 1520; такая же операция с кодом Silverlight занимает 0,7 секунды.
Я немного боюсь использовать WP8.1 для создания приложений для телефона, потому что производительность для меня очень важна. Тот же тест на Lumia 535 занимает 7 секунд и 1,5 секунды, соответственно, с контактами от моей Lumia 1520.
Есть ли рекомендация о том, какой проект использовать? Я чувствую, что приложения Silverlight (очевидно) сосредоточены в Windows Phone и используют все возможности телефона.
Я ошибаюсь? Я направляюсь в дорогу с устаревшим видом, выбирая серебристый телефон Windows?
Примечание: Код, используемый для выполнения поиска является одним из примеров MSDN ...
WP8.1 XAML (Nokia Lumia 1520, 3 секунд, чтобы получить 240 контактов с иконками, учетных записей электронной почты и т.д. ...)
ContactStore agenda = await ContactManager.RequestStoreAsync();
Stopwatch sw = new Stopwatch();
IReadOnlyList<Windows.ApplicationModel.Contacts.Contact> contacts = null;
sw.Start();
contacts = await agenda.FindContactsAsync();
sw.Stop();
txtblock1.Text = sw.ElapsedMilliseconds;
WP Silverlight 8.1 (Nokia Lumia 1520, 0,7 секунд, чтобы получить 240 контактов с иконками, учетных записей электронной почты, и т.д. ...)
Contacts agenda = new Contacts();
//Stopwatch is declared at class level so its accessible in ListContacts_SearchCompleted Callback
sw.Start();
agenda.SearchCompleted+= ListContacts_SearchCompleted;
agenda.SearchAsync(String.Empty, FilterKind.None, null);
//sw.Stop() and print ElapsedMilliseconds in ListContacts_SearchCompleted callback
EDIT: Сообщение, созданное в форумах относительно этого https://social.msdn.microsoft.com/forums/windowsdesktop/en-us/1e0accaf-b2f8-4d68-b5ec-dc6af6351633/findcontactsasync-takes-long-time?referrer=http://social.msdn.microsoft.com/forums/windowsdesktop/en-us/1e0accaf-b2f8-4d68-b5ec-dc6af6351633/findcontactsasync-takes-long-time?referrer=http://social.msdn.microsoft.com/forums/windowsdesktop/en-us/1e0accaf-b2f8-4d68-b5ec-dc6af6351633/findcontactsasync-takes-long-time?forum=wpdevelop
Запускаете ли вы Предварительный просмотр разработчика или фактическую выпущенную версию/Cyan на 1520? –
Выпущена версия. Дело в том, что во всех устройствах, которые я пробовал, для кода, похоже, потребуется 4 раза времени, чтобы вернуть тот же запрос, что и экземпляр Silverlight. – Arys
@Arys Как вы измеряете время? Когда вы начинаете/останавливаете измерение? Рассматриваются ли данные в каком-то списке? – Romasz