c# - WP SilverLight 8.1 与 WP 8.1 (XAML) 的优缺点

标签 c# xaml silverlight windows-phone-8.1

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

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

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

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

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

我错了吗?我是否正在通过选择 Windows Phone Silverlight 进入弃用之路?

注意:用于执行搜索的代码来自 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(诺基亚 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 的帖子

最佳答案

你比较的是同一个东西吗?

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

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

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

对于 Silverlight,现有的 API 可能会针对性能进行更完善。

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

关于c# - WP SilverLight 8.1 与 WP 8.1 (XAML) 的优缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25603829/

相关文章:

xaml - Windows 8 商店应用程序中的模糊效果?

silverlight - 为什么我在 System.Diagnostics silverlight 项目 VS 2010 中找不到进程类

c# - 使用 silverlight 的带有可滚动 tabitems 的 Tabcontrol

c# - System.Environment.OSVersion .NET Core 5.0 Framework 替代品?

c# - 使用 Windows 安装程序部署 Web 应用程序期间出错

c# - 我如何在 C# 中使用 7Zip 压缩文件夹?

c# - 在 XAML 堆栈布局中插入 cs stacklayout

c# - WPF 在代码中添加的行未显示 - 显示 XAML

silverlight - 如何在加载 silverlight 时淡入图像?

c# - 更新SQL命令语法错误