我一直在阅读关于使用Wp8.1(XAML)应用程序创建Windows Phone 8.1应用程序的新方法,并且该代码在Windows 8.1桌面应用程序中具有高度的可重用性。
但是,我有点担心,因为在通讯录(WP8.1 XAML中的ContactManager)中执行单个搜索比Silverlight版本慢得多。
仅从我的日程表返回所有联系人(240个带有电子邮件、缩略图等...)在我的Lumia 1520上需要3秒钟;使用Silverlight代码进行相同操作需要0.7秒。
我有些担心使用WP8.1来制作手机应用,因为性能对我来说非常重要。在Lumia 535上进行相同的测试需要分别花费7秒和1.5秒来获取来自我的Lumia 1520的联系人。
是否有任何建议关于使用哪种项目?我觉得Silverlight应用程序(显然)专注于Windows Phone并使用所有手机的功能。
我错了吗?选择Windows Phone Silverlight是否会导致不再被支持?
注:执行搜索的代码与MSDN示例中的代码相同...
WP8.1 XAML(Nokia Lumia 1520,获取带有缩略图、邮件帐户等240个联系人需要3秒钟)
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(诺基亚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