gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 02:36:53 25 4
gpt4 key购买 nike

我创建了两个(尽可能基本).XAML 页面。

静态页面.xaml

  • 显示内存使用情况
  • 链接到 MemoryTest.xaml

  • MemoryTest.xaml
  • 除了显示 10 个左右的文本块外,什么都不做,每个文本块带有 Text="This is some text"。

  • 问题

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

    在此处查看我的屏幕截图:
    enter image description 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());
    }
    }

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

    最佳答案

  • 不要费心检查模拟器中的内存消耗,它不精确。使用设备。
  • 不要做过早的优化
  • 当你编写一个实际的应用程序时,对其进行分析。
  • 调试构建消耗更多内存,导航后内存使用量将下降,当/如果 GC 启动。
  • 不要使用 GC.Collect() .只是不要。
  • 关于windows-phone-7 - Windows Phone 内存泄漏 90MB - 只有两个静态页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9789655/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com