• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > 基于.NET BitmapImage 内存释放问题的解决方法详解

基于.NET BitmapImage 内存释放问题的解决方法详解

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了bitmapimage 内存占用,bitmapimage,wpf bitmapimage,c bitmapimage,python bitmapimage等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

网上查到的代码,多数的写法使用MemoryStream来实现:

    using (var stream = new MemoryStream(File.ReadAllBytes(...))) {
        bitmap.StreamSource = stream;
        bitmap.CacheOption = BitmapCacheOption.OnLoad;
        bitmap.EndInit();
        bitmap.Freeze();

    }
    this.Dispatcher.Invoke((Action)delegate {
        Image1.Source = bitmap;

    });

})).Start();
</div>
今天问题来了,当我设置了DecodeWidth为100时加载1000张图片,照理说内存应该维持100×100的1000张图片,但事实上他保留了所以原始图片的内存直到BitmapImage被回收时才释放,这让我很尴尬,换句话说using(MemoryStream)并没有真正按我们预期释放MemoryStream中的Buffer,那如何才能释放呢?
其实最简单就是直接弃用MemoryStream转投FileStream,如下:

    image.DecodePixelWidth = 100;

    image.CacheOption = BitmapCacheOption.OnLoad;
    image.EndInit();
    image.Freeze();
}
</div>

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 基于.NET BitmapImage 内存释放问题的解决方法详解

相关文章

  • 2017-05-11asp.net分页控件使用详解【附实例下载】
  • 2017-05-11asp.net TreeView与XML三步生成列表树
  • 2017-05-11ASP.NET常用小技巧
  • 2017-05-11asp.net 下拉列表无级数据绑定实现代码
  • 2017-05-11ADO.NET 读取EXCEL的实现代码((c#))
  • 2017-05-11asp.net DataTable相关操作集锦(筛选,取前N条数据,去重复行,获取指定列数据等)
  • 2017-05-11KindEditor图片上传的Asp.net代码实例
  • 2017-05-11.Net中生成二维的表格的代码 分享
  • 2017-05-11C#Web应用程序入门经典学习笔记之一
  • 2017-05-11iis访问出现各种问题(Vs访问正常)的部分处理方法详细整理

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • .Net微信开发之如何解决access_token过期问题
    • 在asp.net(c#)下实现调用cmd的方法
    • asp.net 在global中拦截404错误的实现方法
    • ASP.NET实现301重定向方法
    • visual studio 2017企业版本安装(附序列号)
    • Asp.NetCore1.1版本去掉project.json后如何打包生成跨平台包
    • DropDownList绑定选择数据报错提示异常解决方案
    • ASP.NET将Session保存到数据库中的方法
    • ASP.NET中使用Application对象实现简单在线人数统计功能
    • ASP.NET笔记之广告控件的使用方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有