WP SilverLight 8.1与WP 8.1(XAML)的优缺点

本文关键字:WP 优缺点 SilverLight XAML | 更新日期: 2023-09-27 18:20:08

我一直在读到Wp8.1(XAML)应用程序是为Windows Phone 8.1创建应用程序的新方法,该代码可用于Windows 8.1桌面应用程序。

但我有点担心,因为从Contacts(WP8.1 XAML中的ContactManager)执行单个搜索比Silverlight对应程序慢得多。

在我的Lumia 1520中,仅从我的议程中返回所有联系人(240个带有电子邮件、缩略图等的联系人)就需要3秒;Silverlight代码的相同操作需要0.7秒。

我有点害怕使用WP8.1为手机制作应用程序,因为性能对我来说非常重要。对Lumia 535的相同测试分别需要7秒和1.5秒,而我的Lumia 1520的联系人需要7秒。

对于使用哪种项目有什么建议吗?我觉得Silverlight应用程序(显然)专注于Windows Phone,并使用了手机的所有功能。

我错了?我是不是正走向一条贬低的道路,因为我摘了窗户上的手机银光?

注意:用于执行搜索的代码是MSDN Examples。。。

WP8.1 XAML(诺基亚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(诺基亚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

编辑:在论坛中创建的关于此的帖子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/1e0acaf-b2f8-4d68-b5ec-dc6af6351633/findcontactsasync需要很长时间?推荐人=http://social.msdn.microsoft.com/forums/windowsdesktop/en-us/1e0accaf-b2f8-4d68-b5ec-dc6af6351633/findcontactsasync-takes-long-time?forum=wpdevelop

WP SilverLight 8.1与WP 8.1(XAML)的优缺点

你在比较同样的东西吗?

在Silverlight版本中,您只能调用sw。在完成处理程序中停止。

如果你真的想做一个好的比较,你应该得到一个ETW跟踪;然后你才能真正理解发生了什么。

对于基于Metro XAML的解决方案,可能会有额外的互操作成本。但这似乎是未来的道路。

对于Silverlight,现有的API可能会更加完善以实现性能。

也许你应该同时研究这两种解决方案,使可共享代码尽可能大,然后再决定采取哪种方式。