窗口电话7中的内存泄漏

时间:2011-08-26 07:08:23

标签: windows-phone-7 windows-phone-7.1

我试图在我们的应用程序中控制内存。但内存与新应用程序启动时的内存不同。

示例:

在应用程序中,我有2个页面(MainPage.xaml和Page1.xaml)。

MainPage中的代码(.Xaml):

<Grid x:Name="LayoutRoot" Background="Transparent">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>

        <!--TitlePanel contains the name of the application and page title-->
        <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
            <TextBlock x:Name="ApplicationTitle" Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/>
            <TextBlock x:Name="PageTitle" Text="page name" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
        </StackPanel>

        <!--ContentPanel - place additional content here-->
        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <Button Content="Button" Height="72" HorizontalAlignment="Left" Margin="147,223,0,0" Name="button1" VerticalAlignment="Top" Width="160"/>
        </Grid>
    </Grid>

和Page1.xaml:

<Grid x:Name="LayoutRoot" Background="Transparent">
        <Button Content="add" Height="72" HorizontalAlignment="Left" Margin="41,12,0,0" Name="button1" VerticalAlignment="Top" Width="160" Click="button1_Click" />
        <Button Content="remove" Height="72" HorizontalAlignment="Left" Margin="240,12,0,0" Name="button2" VerticalAlignment="Top" Width="160" Click="button2_Click" />
        <ListBox Height="666" HorizontalAlignment="Left" Margin="12,90,0,0" Name="lsbMyList" VerticalAlignment="Top" Width="456" />
    </Grid>

Page1:当我从内存MainPage返回时,我的应用程序从1Mb增加到超过5Mb。

在Page1的列表框中,我将一个Image添加到listBox,当我返回Page时,我将图像控件设置为null URL并且imageControl = null;记忆没有减少

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:2)

请参阅有关在http://blogs.msdn.com/b/swick/archive/2011/04/07/image-tips-for-windows-phone-7.aspx

发布图像内存的说明

你是如何确认记忆是来自图像而不是你正在使用的任何其他内容并且可能没有清理?