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)」以降のコードを実行しない場合にもメモリを消費します。
なぜこれが起こるのですか?