Metro App,由背景图像引起的高内存使用率

时间:2012-08-02 09:13:13

标签: xaml microsoft-metro windows-runtime winrt-xaml

我有三个嵌套网格,其中前两个网格的背景图片大小为291 KB和185 KB。当我运行应用程序时,我看到我的应用程序使用大约130 MB的RAM。我调试了应用程序,看看是什么导致了如此巨大的内存消耗,并意识到当我删除背景图像时,它减少到大约25 MB。

我做错了吗?你可以在下面找到标记。

<Grid Style="{StaticResource LayoutRootStyle}">
    <Grid.Background>
        <ImageBrush ImageSource="Assets/Images/bubbleless_background.png" />
    </Grid.Background>        
        <Grid>
            <Grid.Background>                    
                <ImageBrush ImageSource="Assets/Images/bubble_background_new.png" Stretch="None" AlignmentX="Left" AlignmentY="Top"/>
            </Grid.Background>
        </Grid>
</Grid>

1 个答案:

答案 0 :(得分:3)

磁盘上图像的大小不是内存大小的衡量标准。

在内存中,大小为its width * its height in pixels * 4 bytes per pixel

您正在添加两张图片;取决于它们的大小(以像素为单位!),这可能会占用大量内存。