gpt4 book ai didi

Java 图片占用内存过多

转载 作者:行者123 更新时间:2023-12-01 17:38:30 27 4
gpt4 key购买 nike

我有一个使用大量图像的程序。它从文件中加载大量图像并存储它们,以便它们仅加载一次。它还创建多个 BufferedImage,大约 400x400,其中不会超过 10 个。

文件中的图像总计约为 6MB。每个 BufferedImage 应约为 400x400x4=640KB。

然而,内存使用量为 500MB!

其中一些将用于程序的其余部分,但我很确定图像占据了大部分空间。

有人知道该怎么办吗?或者使用更少内存的 BufferedImage 的替代品?

最佳答案

在我看来,您的应用程序(而不是库)存在内存泄漏。在第一个实例中,您应该尝试使用标准 Java 内存分析器来识别泄漏。

编辑

现在您已经发现有很多 BufferedImages 闲置,接下来您需要做的就是弄清楚为什么它们仍然可以访问。进行堆转储,查看一些实例并查看它们如何连接到堆根;请参阅http://download.oracle.com/javase/6/docs/technotes/guides/visualvm/heapdump.html

在做此类事情时,使用您最喜欢的 Java IDE 查看 Java 源代码的相关部分会很有用。

关于Java 图片占用内存过多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3868913/

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