我对Java中内存的使用有一些疑问。
第一。假设你有一个.png文件的按钮,你使用它10次。它是否以相同的方式增加了内存使用量,就像你有10个不同的.png文件,每个按钮一个?
第二。如果你在代码上写了一个字符串并在程序的屏幕上显示它,它是否使用相同的内存,就像你上传了一个带有这个字符串的图像一样?
换句话说,内存是如何使用的?我正在使用Java制作一个非常简单的2D游戏,它使用280MB的RAM,我认为它太多了,我想听听专业程序员一些关于如何减少内存使用的一些提示。
答案 0 :(得分:2)
如果您创建一个ImageIcon并在几个JButton上重复使用它,那么所使用的内存对于一个图像以及几个对象引用(基本上是地址)的普通内存就足够了按钮用于引用单个Icon,因此使用相同Icon的更多按钮不会显着增加内存使用。至于整体减少内存占用,请专业人士做 - 配置文件您的代码。
另外,我无法想象在屏幕上显示字符串会占用大量内存,但同样,唯一的方法是在程序运行时对其进行分析。