6个Pivot项目,每个32个按钮有一个很好的理由为什么应用程序明显减慢?

时间:2013-10-18 17:39:25

标签: c# performance button windows-phone-8

我是编程和c#的新手,但我有一个功能齐全的应用程序,并希望添加更多功能...所以我重新设计了一个部分,只是重新设计了没有添加代码...我刚刚添加了一个新的页面和添加了6个pivotitems和每个数据透视表上的32个按钮...总共有192个按钮只有简单的按钮没什么了不起但是为什么当我在我的设备上运行应用程序并导航到出现的颜色闪光的页面时当你点击按钮时“开始变慢”对点的响应越来越少,我可以快速点击5个按钮,几秒钟后所有的动画最终都会完成。

我无法相信许多按钮可能会使应用程序变得接近死亡或者应该这样做?如果不是我怎么能解决它,因为我真的需要192个按钮!在6个标签/页面上分成32个

2 个答案:

答案 0 :(得分:0)

必须添加的xaml控件越多,需要在共享的紧凑环境中在手机上进行工作和内存分配。

我遇到了一个情况,其中100个地图引脚点都有一个弹出对话框,提供了额外的信息。正如您所见,这些对话框中的每一个都明显减慢了应用程序的速度。我不得不放弃预加载甚至隐藏的所有100个对话框。

我读到的是,在带有一定数量按钮的选项卡上似乎有一些重复枢轴控制。也许重新设计它只显示一个选项卡,一个枢轴控件和32个按钮,然后根据选项卡选择,重新使用当前项目,但只需更改文本以给出更改的外观。

无论你需要以某种方式缩减。

- 另外 -

是否异步加载数据?或者可以在页面出现之前加载数据,但是异步?我有一个Silverlight应用程序,它会在某些页面出现之前将大量数据加载到VM上。我在上一个WP8项目中使用了这个范例,效果很好。

在这两者之间,您将能够将此页面的负载缩减为更易于管理的内容。

---更新----

在这里提出一个关于其他问题的例子: Can I swap a buttons content databind to a different databind in code?

答案 1 :(得分:0)

出于某种原因Blend或VS 2012 express添加了

<Button.Background>
<ImageBrush Stretch="Fill"/>
</Button.Background>

按钮xaml一旦删除它,按钮再次响应...