Xaml Windows 10通用应用程序的内存使用情况

Xaml Windows 10通用应用程序的内存使用情况,xaml,windows-10,win-universal-app,windows-10-mobile,Xaml,Windows 10,Win Universal App,Windows 10 Mobile,当我们为Windows 10构建通用应用程序时,为了支持多种分辨率,我们可以使用 在这种情况下,对于每个视觉状态,使用单独的布局。如果我们要采用3种尺寸,则必须创建每个布局,因此对于大多数控件,都会有多个副本,这些副本会隐藏起来,并在适当的视觉状态下变得可见 所有这些控件都将加载到内存和废RAM中,这对于低内存手机(如lumia 620)来说可能是危险的 对于这种情况,使用单独的视图是正确的解决方案吗 更新 如果有人需要,这里有一些关于元素布局重新排序表单(AdaptiveTrigger,更改网

当我们为Windows 10构建通用应用程序时,为了支持多种分辨率,我们可以使用

在这种情况下,对于每个视觉状态,使用单独的布局。如果我们要采用3种尺寸,则必须创建每个布局,因此对于大多数控件,都会有多个副本,这些副本会隐藏起来,并在适当的视觉状态下变得可见

所有这些控件都将加载到内存和废RAM中,这对于低内存手机(如lumia 620)来说可能是危险的

对于这种情况,使用单独的视图是正确的解决方案吗

更新


如果有人需要,这里有一些关于元素布局重新排序表单(AdaptiveTrigger,更改网格中的元素位置)和(AdaptiveTrigger,RelativePanel)的好文章和非常简单的文章。

Windows 10 Xaml引入了一个属性x:DeferLoadingStrategy来标记只在需要时加载的控件。这将允许您在Xaml中包含所有控件,而无需将它们加载到内存中,除非实际使用它们。在移动情况下,设备可能只有一个实际使用的尺寸(或两个用于纵向/横向),其他尺寸的布局将永远不会加载

对于使用相同控件但位置略有不同的情况,我将考虑移动它们(可能使用RelativePanel),正如Jon Stødle在评论中所建议的那样


如果有更大的更改,那么我会在同一个文件中或使用单独的Xaml查看单独的布局(就像您正在做的),但对于简单的位置更改,这可能会有些过分

您可以为不同的设备创建不同的xaml页面,但使用相同的代码Behinden即使在这种情况下,对于移动设备,我们有4英寸到7英寸的多分辨率屏幕,我也需要为这些情况创建单独的视图。在这种情况下,这不再是通用应用:)它是通用应用。您为不同的设备创建了差异视图,但共享了相同的代码。相应的视图将在运行时拾取。听起来您正在为每个布局创建不同的控件。你不能重复使用相同的控件,而是以不同的方式进行布局吗?@JonStødle,我只是想知道这种情况下的最佳实践。所有布局的控件都相同,只是它们的位置不同。想象一下4英寸和6.5英寸的应用程序。元素必须以不同的方式放置。