私は簡単なゲームをプログラミングしています。Draw/Update はリアルタイム モデルをスローするため、CPU の負荷は常に高くなります。スレッドは次のようになります。
@Override
public void run() {
while (true) {
if (!mRun) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {};
} else {
Canvas c = null;
try {
c = mSurfaceHolder.lockCanvas(null);
synchronized (mSurfaceHolder) {
..update game objects..
if (canvas != null) {
..draw to canvas...
}
}
} finally {
if (c != null) {
mSurfaceHolder.unlockCanvasAndPost(c);
}
}
}
}
}
問題は、アプリケーションがバッテリーを消費するように動作することです。私のGalaxy S2では、PC USBに接続しているのと同じ瞬間に、充電よりも速く消耗します.
私は何を間違っていますか、それともゲームには問題ありませんか?