WP SilverLight 8.1 vs WP 8.1(XAML)的优点和缺点

时间:2014-09-01 10:33:05

标签: c# xaml silverlight windows-phone-8.1

我一直在阅读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 1520的触点,Lumia 535的相同测试分别需要7秒和1.5秒。

是否有关于使用何种项目的推荐?我觉得Silverlight应用程序(显然)专注于Windows Phone并使用所有手机的功能。

我错了?我是通过选择windows phone silverlight进入弃用之路了吗?

注意:用于执行搜索的代码是MSDN示例中的代码...

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/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

的帖子

1 个答案:

答案 0 :(得分:1)

你在比较同样的事情吗?

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

如果你真的想做一个很好的比较,你应该得到一个ETW追踪;那么你真的可以理解上升的是什么。

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

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

您可能应该同时处理这两种解决方案,尽可能使可共享代码尽可能大,然后决定采用哪种方式。