关于网友提出的“c#程序获取bitmapimage时,会卡顿大约6s。怎么解决啊大神们”问题疑问,本网通过在网上对“c#程序获取bitmapimage时,会卡顿大约6s。怎么解决啊大神们”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:c#程序获取bitmapimage时,会卡顿大约6s。怎么解决啊大神们
描述:wpfc#
大概在return 那边卡住几秒,而且只卡住一次,过了一次就好了,如果关掉重开还是会再卡一次
public bitmapimage getimg(string filrpath){
// Read byte[] from png file
BinaryReader binReader = new BinaryReader(File.Open(filePath, FileMode.Open));
FileInfo fileInfo = new FileInfor(filePath);
byte[] bytes = binReader.ReadBytes((int)fileInfo.Length);
binReader.Close();
// Init bitmap
BitmapImage bitmap = new BitmapImage();
bitmap.BeginInit();
bitmap.StreamSource = new MemoryStream(bytes);
bitmap.EndInit();
return bitmap;
}
我也打过断点尝试过了,就是在return 前停滞了,找不到原因,还有我写的是wpf程序。

解决方案1:
你是在逗我吗- -!
https://msdn.microsoft.com/zh-cn/library/system.drawing.bitmap.bitmap.aspx
Bitmap(Stream) 从指定的数据流初始化 Bitmap 类的新实例。
解决方案2: 上面已经有人说过的,就不重复了。这里只是补充他的回复:更深入的做法,就需要在业务协议上下功夫。例如
1. 超过一定尺寸的大图,应该自动改为4个、16个、64个......许多个小图下载,并且在前端拼接时也不需要相互等待、阻塞。
2. 实际上任何下载都应该先比加一下本地的缓存,如果完全不需要下载,何必真的下载?你需要多写几行代码实现处理本地缓存,不要那么简单地写人尽皆知的代码,要把心思放在业务设计上。只有流程比别人强(而不是仅仅技术比别人强),才能满足图片速度要求。
以上介绍了“c#程序获取bitmapimage时,会卡顿大约6s。怎么解决啊大神们”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1140932.html