加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows-phone-7 – Windows Phone内存泄漏90MB – 只有两个静态

发布时间:2020-12-14 05:26:14 所属栏目:Windows 来源:网络整理
导读:我创建了两个(尽可能基本).XAML页面. StaticPage.xaml 显示内存使用情况 MemoryTest.xaml的链接 MemoryTest.xaml 除了Text =“这是一些文本”之外,什么都不显示10个左右的文本块. 问题 如果您只是使用超链接在页面之间来回导航,然后使用硬件后退按钮,内存使
我创建了两个(尽可能基本).XAML页面.

StaticPage.xaml

>显示内存使用情况
> MemoryTest.xaml的链接

MemoryTest.xaml

>除了Text =“这是一些文本”之外,什么都不显示10个左右的文本块.

问题

如果您只是使用超链接在页面之间来回导航,然后使用硬件后退按钮,内存使用情况看起来很好.
但如果你一遍又一遍地继续这样做……当前的内存使用量和总内存使用率都会上升!!!!!一直超过90MB的限制.

在此查看我的截图:

图片的标题说明:

更快的导航或更慢的速度并没有什么不同.
没有资源可以发布,没有任何事情可以在代码背后,因为没有什么…
现在,如果您添加更多控件(作为普通应用程序,此过程会更快地增加).
添加更多静态文本块也会增加达到90MB限制的速度.

这是不好的,因为我有一个photoalbum页面使用的内存没有被释放,5分钟或体面使用后,它超过90MB ..我需要尝试解决这个问题,所以它不会失败市场测试.

这是每个页面背后的代码

StaticPage.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 Peakn{1} MB Current",(DeviceStatus.ApplicationPeakMemoryUsage / 1048576).ToString(),(DeviceStatus.ApplicationCurrentMemoryUsage / 1048576).ToString());
    }
}

MemoryTest.xaml

public partial class MemTest : PhoneApplicationPage
{
    public MemTest()
    {
        InitializeComponent();
    }
}

解决方法

>不要在模拟器中检查内存消耗,这不精确.使用设备. >不要过早优化 >当您编写实际应用时,请对其进行分析. >调试构建消耗更多内存,导航后,当GC启动时,内存使用率将下降. >不要使用GC.Collect().只是不要.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读