This site requires JavaScript, please enable it in your browser!
Greenfoot back
Gh0sty
Gh0sty wrote ...

2015/8/4

How to increase java heap memory

Gh0sty Gh0sty

2015/8/4

#
I'm using a large image for a background in my game, so I don't have enough java heap memory for other images. How should I fix this?
danpost danpost

2015/8/4

#
If possible, do not load all your images at once (only load what you need when you need them). Convert any background image files to '.jpg' format. It may also help to convert any sound files into '.mp3' format. Reduce the size of you game or window. Any reduction in size will help.
Gh0sty Gh0sty

2015/8/5

#
I took your advice, but now it won't even open. I even removed every single image but when I try opening it I get this error message again:
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
	at java.awt.image.DataBufferInt.<init>(DataBufferInt.java:41)
	at java.awt.image.Raster.createPackedRaster(Raster.java:455)
	at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1015)
	at java.awt.image.BufferedImage.<init>(BufferedImage.java:326)
	at apple.awt.CGraphicsConfig.createCompatibleImage(CGraphicsConfig.java:133)
	at greenfoot.util.GraphicsUtilities.toCompatibleTranslucentImage(GraphicsUtilities.java:307)
	at greenfoot.util.GraphicsUtilities.loadCompatibleTranslucentImage(GraphicsUtilities.java:238)
	at greenfoot.GreenfootImage.loadURL(GreenfootImage.java:254)
	at greenfoot.GreenfootImage.loadFile(GreenfootImage.java:281)
	at greenfoot.GreenfootImage.<init>(GreenfootImage.java:108)
	at greenfoot.util.GreenfootUtil.getGreenfootImage(GreenfootUtil.java:793)
	at greenfoot.core.ProjectProperties.getImage(ProjectProperties.java:269)
	at greenfoot.gui.classbrowser.role.ImageClassRole.getClassThatHasImage(ImageClassRole.java:98)
	at greenfoot.gui.classbrowser.role.ImageClassRole.getGreenfootImage(ImageClassRole.java:109)
	at greenfoot.gui.classbrowser.role.ImageClassRole.getImage(ImageClassRole.java:80)
	at greenfoot.gui.classbrowser.role.ImageClassRole.changeImage(ImageClassRole.java:156)
	at greenfoot.gui.classbrowser.role.ImageClassRole.buildUI(ImageClassRole.java:63)
	at greenfoot.gui.classbrowser.ClassView.update(ClassView.java:190)
	at greenfoot.gui.classbrowser.ClassView.init(ClassView.java:147)
	at greenfoot.gui.classbrowser.ClassView.<init>(ClassView.java:72)
	at greenfoot.gui.GreenfootFrame.populateClassBrowser(GreenfootFrame.java:715)
	at greenfoot.gui.GreenfootFrame.constructClassBrowser(GreenfootFrame.java:382)
	at greenfoot.gui.GreenfootFrame.openProject(GreenfootFrame.java:355)
	at greenfoot.core.GreenfootMain$2.run(GreenfootMain.java:213)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:715)
	at java.awt.EventQueue.access$400(EventQueue.java:82)
	at java.awt.EventQueue$2.run(EventQueue.java:676)
	at java.awt.EventQueue$2.run(EventQueue.java:674)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:685)
please help
danpost danpost

2015/8/5

#
On the main menubar, goto 'Controls>Show Debugger' and then click on the 'Terminate' button. Then open the world class and comment out everything after the 'super' call in the constructor. Compile and then systematically, uncomment bit by bit to find where the problem is.
You need to login to post a reply.