我创建了两个(尽可能基本的).XAML 页面。
静态页面.xaml
- 显示内存使用情况
- MemoryTest.xaml 的链接
内存测试.xaml
- 不执行任何操作,只是显示 10 个左右的文本块,每个文本块带有 Text="This is some text"。
PROBLEM
如果您所做的只是使用超链接在页面之间来回导航,然后使用硬件后退按钮,那么内存使用情况看起来不错。
但如果你一遍又一遍地这样做......当前内存使用量和总内存使用量都会攀升!一路超过了 90MB 的限制。
View my screenshot here:
旁注:
更快或更慢的导航并没有什么区别。
没有资源可以释放,在代码后面没有什么可做的,因为那里什么都没有......
现在,如果您添加更多控件(就像普通应用程序一样,此过程会增加得更快)。
添加更多静态文本块还可以提高达到 90MB 限制的速度。
这很糟糕,因为我有一个相册页面使用的内存没有被释放,并且在 5 分钟或正常使用后,它超过了 90MB。我需要尝试解决这个问题,这样它就不会在市场测试中失败。
这是每个页面背后的代码
静态页面.xaml
public partial class staticPage : PhoneApplicationPage
{
public staticPage()
{
InitializeComponent();
}
private void HyperlinkButton_Click(object sender, RoutedEventArgs e)
{
NavigationService.Navigate(new Uri("/TestDir/MemTest.xaml", UriKind.Relative));
txtMem.Text = String.Format("{0} MB Peak\n{1} MB Current", (DeviceStatus.ApplicationPeakMemoryUsage / 1048576).ToString(), (DeviceStatus.ApplicationCurrentMemoryUsage / 1048576).ToString());
}
}
内存测试.xaml
public partial class MemTest : PhoneApplicationPage
{
public MemTest()
{
InitializeComponent();
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)