Closed AaronScott closed 10 years ago
habe ich auch. Kann bestätigen, dass es am Audio liegt. Wenn man sound aus stellt, dann gibt es keinen Absturz.
java.lang.OutOfMemoryError: unable to create new native thread at java.lang.Thread.start0(Native Method) at java.lang.Thread.start(Thread.java:713) at com.sun.media.sound.DirectAudioDevice$DirectClip.open(DirectAudioDevice.java:1105) at com.sun.media.sound.DirectAudioDevice$DirectClip.open(DirectAudioDevice.java:1175) at micropolisj.gui.MainWindow.citySound(MainWindow.java:1664) at micropolisj.engine.Micropolis.fireCitySound(Micropolis.java:282) at micropolisj.engine.Micropolis.makeSound(Micropolis.java:2264) at micropolisj.engine.ZombieSprite.moveImpl(ZombieSprite.java:118) at micropolisj.engine.Sprite.move(Sprite.java:74) at micropolisj.engine.Micropolis.moveObjects(Micropolis.java:2231) at micropolisj.engine.Micropolis.animate(Micropolis.java:2218) at micropolisj.gui.MainWindow$38.actionPerformed(MainWindow.java:1415) at micropolisj.gui.MainWindow$39.actionPerformed(MainWindow.java:1437) at javax.swing.Timer.fireActionPerformed(Timer.java:312) at javax.swing.Timer$DoPostEvent.run(Timer.java:244) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733) at java.awt.EventQueue.access$200(EventQueue.java:103) at java.awt.EventQueue$3.run(EventQueue.java:694) at java.awt.EventQueue$3.run(EventQueue.java:692) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:703) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Habe jetzt das Problem nochmal gehabt... Zombies sollen noch weniger sagen?
java.lang.OutOfMemoryError: unable to create new native thread at java.lang.Thread.start0(Native Method) at java.lang.Thread.start(Unknown Source) at com.sun.media.sound.DirectAudioDevice$DirectClip.open(Unknown Source) at com.sun.media.sound.DirectAudioDevice$DirectClip.open(Unknown Source) at micropolisj.gui.MainWindow.citySound(MainWindow.java:1667) at micropolisj.engine.Micropolis.fireCitySound(Micropolis.java:314) at micropolisj.engine.Micropolis.makeSound(Micropolis.java:2357) at micropolisj.engine.ZombieExplosionSprite.moveImpl(ZombieExplosionSprite.java:37) at micropolisj.engine.Sprite.move(Sprite.java:74) at micropolisj.engine.Micropolis.moveObjects(Micropolis.java:2324) at micropolisj.engine.Micropolis.animate(Micropolis.java:2311) at micropolisj.gui.MainWindow$38.actionPerformed(MainWindow.java:1416) at micropolisj.gui.MainWindow$39.actionPerformed(MainWindow.java:1438) at javax.swing.Timer.fireActionPerformed(Unknown Source) at javax.swing.Timer$DoPostEvent.run(Unknown Source) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$200(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)
Problem liegt in ZombieExplosionSprite, Zeile 37
hab die zeile rausgenommen
Problem gelöst (höffentlich)...
getötete zombies müssen aus dem speicher gelöscht werden, da dieser sonst irgendwann überläuft. die funktion kill() in zombiesprite sollte das eigtl tun, funktioniert aber noch nicht korrekt.