gpt4 book ai didi

java - 图像在处理中使用过多的 RAM

转载 作者:行者123 更新时间:2023-11-29 04:06:43 24 4
gpt4 key购买 nike

我正在尝试加载几千张小图像进行处理并将它们显示为更大的 map 。图像的总文件大小为 130MiB,但是当我运行该程序时,它使用了我所有的 RAM,我什至收到 OutOfMemoryError,因为 RAM 使用量超过 2GiB。

是什么导致内存使用量是文件大小的 10 倍以上,我有什么办法可以缓解这种情况吗?

编辑:

示例代码

ArrayList<PImage> images = new ArrayList<PImage>();
void setup() {
for (int i = 0; i < 2000 /*num of images*/; i++) {
images.add(loadImage(Integer.toString(i) + ".jpg");
}
}

//in reality, never gets here
void draw() {

for (PImage i: images) {
image(i, /*precalculated x and y*/ random(500), random(500));
}
}

最佳答案

JPEG 压缩比为 10:1,这可以解释这一点:图像在磁盘上被压缩,但是当加载到您的程序中并解压缩时,您会得到 10 倍的大小。

要改进您的代码,请不要一次加载所有图像:一次处理少量图像。

关于java - 图像在处理中使用过多的 RAM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58150394/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com