winform 程序 ,用的 picturebox 显示图片,2 张图片为一组,做了一个自定义控件,然后查询界面放了 10 组控件。 客户一开始给的图片全在 30kb-100kb 之间。 现在他们不知道从哪搞的 20M 的图片,添加进去后再查询程序就会崩溃掉。 我给他们使劲往下压缩了,但图片也只能压缩到 1.3M-1.5M 之间。 一查询,加载 2、3 组还好,加载 10 组就会崩掉 64 位的虽然不会崩掉,但占内存占到了 2g, 主要是他们图片的像素点非常多 现在是只要一查到那张 1.3M 的图片 内存就会占用到 2g,查询其他的 30kb、40kb 的图片内存占用才 100 多 m
想问各位有什么方法能去很好的处理这些问题
1
UnPace 2018-02-05 15:39:00 +08:00
你这头像犯规了
|
2
zwl2012 2018-02-05 16:08:21 +08:00 via iPhone
这是你实现问题吧,你 40k 照片能用 100M 内存,1.3M 图片使用 2G 内存相对来说比 40k 图片的内存利用率更高吧
|
3
verrickt 2018-02-05 16:14:35 +08:00 via Android
展示略缩图怎么样?
wpf 里可以指定 decodepixelheight 啥的,不知道 winForm 怎么样 |
4
zj299792458 2018-02-05 16:21:14 +08:00
用缩略图?
|
5
wwqgtxx 2018-02-05 16:40:31 +08:00 via iPhone
先 resize 再显示呀
|
6
BadCat OP @zwl2012 40k 是一张,我有 10 组,一共是 20 张 也就是 800k 用了 100m 。是图片的问题 图片 8000x9000 多
@zj299792458 刚改好 用的缩略图 用的缩略图 妈的 一个 8000x9000 的图 缩出来还跟高清的一样,但内存只占了 100、200m 好多了 |