请教一个wpf内存消耗问题
程序启动什么都没做消耗17M 
放置一个Image控件并设置其Source属性后内存30M
图片是一张1920*1080的图片 用来当背景图.
用winform不会出现内存暴增.
想问一个wpf中设置图片为什么内存就暴增了 还是说它里面做了些什么事情WPF

解决方案 »

  1.   

    用ImageBrush引入图片   设置背景用Background="{StaticResource 这个ImageBrush的Key}"
    记得听人说过wpf直接用imagesource比较费资源
      

  2.   


    1920*1080 为什么wpf下占17兆 而 winform下占2兆
      

  3.   


    1920*1080 为什么wpf下占17兆 而 winform下占2兆
    不是不想增加 而是增加的太恐怖了 我如果用20张图片做视频背景的话
    内存直接飙到100多兆
      

  4.   

    我遇到加载图片慢的问题,那是因为图片的格式有问题!建议用png格式的图片  其它格式加载很慢
      

  5.   

    图片加载倒不慢 就是一张图耗内存太大了 它多耗得内存是用来干嘛了!
    http://www.myexception.cn/h/575288.html
      

  6.   

    图片加载倒不慢 就是一张图耗内存太大了 它多耗得内存是用来干嘛了!
    http://www.myexception.cn/h/575288.html看过了 没效果 内存居高不下 就1张图片 就这么耗资源
      

  7.   

    图片加载倒不慢 就是一张图耗内存太大了 它多耗得内存是用来干嘛了!
    http://www.myexception.cn/h/575288.html看过了 没效果 内存居高不下 就1张图片 就这么耗资源
    一个1920*1080的图片大概就是8,9M的样子。
    要想减少的话你可以根据你的窗体大小来设置图片解码的宽度跟高度再作为背景吧。
    比如一个400长度400宽度的Grid
                BitmapImage bi = new BitmapImage();
                bi.BeginInit();
                bi.UriSource = new Uri(@"图片路径", UriKind.Relative);
                bi.DecodePixelWidth = 400;
                bi.DecodePixelHeight = 400;
                bi.EndInit();
                grid.Background = new ImageBrush(bi);