タグ

メモリに関するt-kashimaのブックマーク (2)

  • cocos2d-xのリファレンスカウンタを理解してクラッシュやメモリリークを防ぐ

    画像のはcocos2d-xのCCObjectの中身ですよ。 cocos2d-xはC++を使っているのですが、基C++にはJavaやC#にあるようなガベージコレクションといった便利なものがなく、来はインスタンス生成で確保したメモリは自分で解放しなければなりません。ただcocos2d-xの場合はObject-Cと同じようにリファレンスカウンタでメモリ管理をする仕組みが実装されており、おかげでそこまで意識しなくてもcocos2d-x側が自動で使わなくなったものを削除してくれるようになっています。 とはいえ、その仕組みをある程度理解しておかないと思わぬところでメモリが解放されてクラッシュしたり、メモリリークを起こしてしまったりしちゃうので、既に何度もクラッシュさせたりメモリリークを起こしちゃった自分の為にちょっと詳しくまとめておきます(´・ω・`) あとどういう風に実装してるのかなっていうのも

    cocos2d-xのリファレンスカウンタを理解してクラッシュやメモリリークを防ぐ
  • Android 大きい画像を効果的に読み込む

    Loading Large Bitmaps Efficiently の内容なのですが、補足も入れてメモっておきます。 端的にいうと、 実際に表示するサイズより大きい Bitmap を読みこむのはメモリの無駄 (拡大させるとかなら話は別だけど) ・高解像度のカメラで取られた写真は往々にしてディスプレイのピクセルサイズより大きい ・サムネイルとして使うのに元のサイズのまま読み込むのはばかげてる ・大きいサイズの Bitmap をメモリに展開したら OutOfMemoryException になる ステップとしては3つ 1. メモリに Bitmap 展開せずに、サイズや MimeType だけを取得する 2. 1. の情報をもとにサブサンプルにサイズを決める 3. 2. で決めたサブサンプルで Bitmap をメモリに読み込む 1. メモリに Bitmap 展開せずに、サイズや MimeType

  • 1