質問: OutOfMemoryエラーが出ていました。 > > 【logcat】 > > 08-28 10:30:19.127 11008-11008/com.example.yutaro0224.spot E/dalvikvm-heap: Out of memory on a 11559464-byte allocation. > > > アプリケーション内の画像の画質を良いものを詰め込みすぎると起きてしまうのでしょうか? 実機テストを行っているのですが、デバイスの性能にもよるのでしょうか? また、解決方法として 「ImageButton,ImageViewそれぞれの画質を落とす」 ということしか考えつかないのですが、他にございましたらご教授下さいませ。 あわせて、原因についても教えて頂けるとありがたいです。 以上、宜しくお願い致します。
回答: Bitmapであれば bitmap.recycle()、 ImageViewであれば imageView.setImageDrawable(null) など、 読み込んだ画像を使い終わったら明示的に解放しておかないと結構簡単に Out of memory になってしまいます。 大量の写真を読み込んでサムネイル一覧を表示するような場合は、読み込みだけで負担になります。 そんな時はBitmapFactory.decodeStream()に与えるoptionsのinSampleSizeを設定して、 最初から縮小した画像として読み込むのも手です。