WP8 LongListSelector内存泄漏与TextBlock

时间:2013-07-02 11:37:32

标签: memory-leaks windows-phone-8 textblock longlistselector

我有测试应用程序:

http://www.mediafire.com/download/y5nxo6esifys4h0/LeakMemLLS.rar

它由2页组成:

  1. 主页。

  2. ListItems页面(使用LongListSelector)。

  3. 当我多次访问ListItems页面并返回主页面时。记忆力在增加。

    有人知道这是什么问题吗?

    感谢。

2 个答案:

答案 0 :(得分:0)

当您从PhoneApplicationPage导航回来,然后再返回到它时,运行时会创建一个新实例。因此,你看到这个记忆增加。通常它没关系,因为垃圾收集器会在必要时回收未使用的实例。

答案 1 :(得分:0)

每次到达任何页面的onNavigateTo()时,您都必须清除堆栈,所有页面都保持堆叠状态,GC.Colect()无法删除堆栈。

int a = NavigationService.BackStack.Count();
        while (a > standerdCount)
        {
            this.NavigationService.RemoveBackEntry();
            a = NavigationService.BackStack.Count();
        }
当应用程序第一次到达页面时,

standerdCount 是堆栈计数。

或者,当您从ListItem页面导航到MainPage时,可以使用NavigationService.GoBack()