最近项目需要主窗体需要加载一个3到4M的图片,之前运行好好地,突然VS报错说内存不足。我笔记本内存16G,一个3M多的图片,居然能把内存占满?!在网上搜索了很多都没有找到解决方法。
我是将图片加载到Resource中,
pbMap.Image = Properties.Resources.map;
后来压缩了图片,把Resource中的图片移除了,再添加,尝试了多遍还是没效果。
后来的心得:尽量在程序中不要 int width = Properties.Resources.map.Width;获取宽高。我的这张图片大小是13788x8395像素,用这样的方法读取长宽,会将内存占满。具体什么原因不知道。