3

Java ME のメモリに関する奇妙な問題に直面しています。

ここに私のコードの一部があります:

int variable=1;

while (true) {
  if (variable==2) {
    display = Display.getDisplay(this);         
    MyCanvas mc = new MyCanvas(this);   // MyCanvas is a runnable object
    mcT = new Thread(mc);    // new thread for MyCanvas
    mc.repaint();
    display.setCurrent(mc);  
    mcT.start();  // run thread
    }

  if (variable==1) {
    // Do some other stuff
    }
  }

問題は、まだ にvariable設定されているため、条件の後にコードを削除する場合よりもプログラムが 300kB 多くのメモリを消費する条件1を通過しないことです。if (variable==2)if (variable==2)

私の知る限り、コードを実行する必要があり、変数を値に設定した場合にのみオブジェクトが作成されます2。ただし、条件「if (variable==2)」以降のコードを実行しない場合にもメモリを消費します。

なぜこれが起こるのですか?

4

0 に答える 0