Windows phone 7 提高页面加载速度

Windows phone 7 提高页面加载速度,windows-phone-7,panorama-control,Windows Phone 7,Panorama Control,在我的应用程序中,我有一个全景页面,其中包含大约10个全景项目。每个全景项目都有一些路径图、一个列表选择器和几个输入字段。我面临的问题是,当我导航到此页面时,由于要初始化的内容太多,导航速度非常慢。如果我对InitializeComponent()进行注释加载变得很快。我曾想过在代码中添加XAML内容,但问题是我必须在代码中按输入字段的名称访问它们,所以它不起作用。你知道如何加快页面导航速度吗。谢谢。我认为你可以通过为特定的全景项目创建用户控件来提高页面性能,在页面中添加一个空的全景控件(只有标


在我的应用程序中,我有一个全景页面,其中包含大约10个全景项目。每个全景项目都有一些路径图、一个列表选择器和几个输入字段。
我面临的问题是,当我导航到此页面时,由于要初始化的内容太多,导航速度非常慢。如果我对
InitializeComponent()进行注释加载变得很快。
我曾想过在代码中添加XAML内容,但问题是我必须在代码中按输入字段的名称访问它们,所以它不起作用。
你知道如何加快页面导航速度吗。
谢谢。

我认为你可以通过为特定的全景项目创建用户控件来提高页面性能,在页面中添加一个空的全景控件(只有标题),并按照picypg的建议,在需要时加载这些用户控件

InitializeComponent();
另一种方法是加载第一个页面,并向用户显示该页面。在后台,您可以开始加载其他全景项目


我建议的方法是第一种。使用懒散加载原则。

我认为您可以通过为特定全景项目创建用户控件来提高页面性能,在页面中添加一个空的全景控件(只有标题),并按照picypg的建议,在需要时加载这些用户控件

另一种方法是加载第一个页面,并向用户显示该页面。在后台,您可以开始加载其他全景项目

我建议的方法是第一种。使用懒散加载原理。

来自:

使用单色背景 或者是一幅横跨整个世界的图像 全景如果您决定使用 图像,任何用户界面图像类型 由Silverlight支持的是 可以接受,但建议使用JPEG, 因为他们通常有较小的文件 与其他格式不同的大小

您可以将多个图像用作 背景,但你应该注意到 一次只能显示一个图像 任何时候都可以

背景图像应介于 480 x 800像素和1024 x 800像素 (宽度x高度)以确保良好的 性能、最短的加载时间和无伸缩性

考虑隐藏全景部分 直到他们有内容显示

此外,10个全景项目似乎很多,因为建议的最大值为4。你要么减少数字,要么隐藏内容直到需要。在上阅读全景最佳实践指南。

来自:

使用单色背景 或者是一幅横跨整个世界的图像 全景如果您决定使用 图像,任何用户界面图像类型 由Silverlight支持的是 可以接受,但建议使用JPEG, 因为他们通常有较小的文件 与其他格式不同的大小

您可以将多个图像用作 背景,但你应该注意到 一次只能显示一个图像 任何时候都可以

背景图像应介于 480 x 800像素和1024 x 800像素 (宽度x高度)以确保良好的 性能、最短的加载时间和无伸缩性

考虑隐藏全景部分 直到他们有内容显示


此外,10个全景项目似乎很多,因为建议的最大值为4。你要么减少数字,要么隐藏内容直到需要。请阅读上的全景最佳实践指南。

我假设您的延迟是由于页面上的项目数量造成的。这将导致一个非常大的对象图,需要很长时间才能创建。我也希望它会占用大量内存,而且你有很高的填充率,这会减慢GPU的速度

如果您不小心,在项目上输入项目/字段可能会导致用户体验问题


许多项目也可能会给用户带来潜在的导航问题。

我假设您的延迟是由于页面上的项目数量造成的。这将导致一个非常大的对象图,需要很长时间才能创建。我也希望它会占用大量内存,而且你有很高的填充率,这会减慢GPU的速度

如果您不小心,在项目上输入项目/字段可能会导致用户体验问题


许多输入项也可能会给用户带来潜在的导航问题。

“我曾想过在代码中添加XAML内容,但问题是我必须在代码中按输入字段的名称访问这些字段,所以这不起作用。”如果您真的觉得这会有所帮助,我对此表示怀疑,除非您只是懒洋洋地初始化字段,然后,您可以简单地用期望的名称创建自己的实例变量。该语句暗示,您要么需要在必要时延迟加载组件,要么在多个线程中在后台加载它们(仅在UI线程中绘制),要么优化现有字段的初始化。没有代码很难说。“我曾想过在代码中添加XAML内容,但问题是,我必须在代码中按输入字段的名称访问它们,所以它不起作用。”如果你真的觉得这会有帮助,我有疑问,除非你只是懒洋洋地初始化字段,然后,您可以简单地用期望的名称创建自己的实例变量。该语句暗示,您要么需要在必要时延迟加载组件,要么在多个线程中在后台加载它们(仅在UI线程中绘制),要么优化现有字段的初始化。如果没有代码,很难说。@Amresh,使用pivot会延迟某些项目的加载,因此可以改进启动,但10个项目可能比您希望放入pivot的项目多(建议最大值为7)。Panorama和Pivot用于不同的目的,因此直接替换很少是个好主意。也许可以重新考虑将某些功能移动到其他页面的设计。@Amresh,使用pivot会延迟某些项目的加载,因此可以改进启动,但10个项目更重要