当前位置: 代码迷 >> J2ME >> 刚看完郭老师的视频,随便编了个,居然出现java.lang.OutOfMemmoryerror解决方案
  详细解决方案

刚看完郭老师的视频,随便编了个,居然出现java.lang.OutOfMemmoryerror解决方案

热度:8334   发布时间:2013-02-25 21:33:58.0
刚看完郭老师的视频,随便编了个,居然出现java.lang.OutOfMemmoryerror
哪位大大帮忙看看吧,我的手机是WM的系统的,用JAVA模拟器运行报告java.lang.OutOfMemmoryerror错误,可是我在ECLIPS上的模拟器运行正常,在手机的JAVAFX上运行也正常。。。
编译后的JAR文件好像才200多K,我的手机运行1M多的JAVA游戏没问题,不知道哪出错,小弟是JAVA菜鸟级别的人物,望各位大大帮帮忙,先谢谢了~~
Java code
public class LiangZi2 extends MIDlet {    private Display dis;    private MyGameCanvas mgc=new MyGameCanvas();    protected void startApp() throws MIDletStateChangeException {        dis=Display.getDisplay(this);        dis.setCurrent(mgc);            }    class MyGameCanvas extends GameCanvas implements Runnable{        private Image LiangZi,imageYouli;        private TiledLayer BackGroundCanvas;        private Graphics gra;        private LayerManager lm;        private Sprite spriteYouli;        private boolean RUN=true;        public MyGameCanvas(){            super(true);            Mydebug(1);            try            {                LiangZi=Image.createImage("/Img6.jpg");                imageYouli=Image.createImage("/youlishuping.png");                //LiangZi=Image.createImage("/123.gif");                                gra=this.getGraphics();                //spriteZuoquan=new Sprite(zuoquan);                //spriteYouquan=new Sprite(youquan);                spriteYouli=new Sprite(imageYouli,imageYouli.getWidth(),imageYouli.getHeight()/41);                BackGroundCanvas=new TiledLayer(1,1,LiangZi,LiangZi.getWidth(),                        LiangZi.getHeight()/3);                                lm=new LayerManager();                lm.append(BackGroundCanvas);                BackGroundCanvas.setCell(0,0, 1);                //Sleep(3000);            }            catch(Exception   ex){ex.printStackTrace();}            Mydebug(4);            new Thread(this).start();        }                public void run() {            int scrWidth=0,scrHeight=0;            scrWidth=this.getWidth();            scrHeight=this.getHeight();            Mydebug(2);            //spriteZuoquan.setPosition(65,128);            //spriteYouquan.setPosition(195,128);            spriteYouli.setPosition(-80,30);            while (RUN)            {                gra.setColor(0xFFFFFF);                gra.fillRect(0, 0,scrWidth,scrHeight);                lm.paint(gra,0,0);                spriteYouli.paint(gra);                //左右拳显示//                spriteZuoquan.paint(gra);//                spriteYouquan.paint(gra);                this.flushGraphics();                spriteYouli.nextFrame();                try{                    Thread.currentThread();                    Thread.sleep(100);                }catch(Exception ex){System.out.println("Sleep error");}                /*BackGroundCanvas.setCell(0, 0, iNext);                iNext++;                if(iNext>3)                    iNext=1;*/                //Mydebug(iNext);            }        }            }    public void Sleep(long time){        try{            Thread.currentThread();            Thread.sleep(time);        }catch(Exception ex){System.out.println("Sleep error");}    }    protected void Mydebug(int i){            System.out.println("到达"+i);    }    public LiangZi2() {        // TODO Auto-generated constructor stub    }    protected void destroyApp(boolean arg0) throws MIDletStateChangeException {        // TODO Auto-generated method stub    }    protected void pauseApp() {        // TODO Auto-generated method stub    }    }}



------解决方案--------------------------------------------------------
探讨

comment out 不会用
!- -
  相关解决方案