ページ 11

アンドロイドアプリのメモリ管理

Posted: 2014年2月22日(土) 09:34
by スライパ
主人公がアニメーション中心に動くゲームを作っているのですが、早くもメモリオーバー(72000バイト)してしまい手詰まり状態です。どうすればいいでしょうか?

Re: アンドロイドアプリのメモリ管理

Posted: 2014年2月22日(土) 22:43
by ISLe
無駄にイメージを複製しまくっているのが目に付きます。
  • イメージをオリジナルのピクセルサイズで扱う
    Androidはイメージを読み込むとき端末に合わせて自動的に大きさを変換するので、大量にメモリを消費することがあります。
    drawable-nodpiフォルダにイメージを格納すれば自動変換されません。
  • 同じ内容のイメージで複数のBitmapを作成しない
    BitmapFactory::decodeResourceのたびにイメージを展開するためのメモリが消費されます。
    同じリソースIDのBitmapはひとつだけ作成して参照するようにしましょう。
  • Bitmapを直接Canvasに描画する
    BitmapDrawableは使わずにCanvas::drawBitmapで描画しましょう。
まずはそんなところでしょうか。

Re: アンドロイドアプリのメモリ管理

Posted: 2014年2月24日(月) 09:41
by スライパ
参照と言うことは、

jikibit[7] = jikibit[0];

のようにすれば大丈夫なのでしょうか?

ひとまずまともに画面に表示されるようになったので解決とさせていただきます