0

私のアプリは、2 つの異なるクラス (およびレイアウト) で 29 の画像を使用します。1 つのレイアウトには、最大 25 の画像間で変化する 1 つの画像ビューがあり、もう 1 つのレイアウトは、一度に最大 3 つまたは 4 つの画像が画面に表示されるすべての画像を含むスクロール ビューです。以前は、画像を .jpg として保存していました。それぞれの画像は 720*540 で、サイズは約 200 ~ 300kb でした。画像を使用している 2 つのレイアウト間を移動した後、アプリでメモリ不足の問題が発生しました。100 mb 以上を使用しています。私はビットマップについていくつかの調査を行い、自分のイメージで試してみましたが、メモリの問題が解決せず、.apk のサイズがほぼ 3 倍になったため、あまり役に立ちませんでした。画像をロードする最も好ましい方法は何ですか?それは.jpgまたはビットマップからのドローアブルとしてですか? 任意の提案をいただければ幸いです。

4

2 に答える 2

2

ビットマップがメモリにあるときは、圧縮されていません。元の形式は関係ありません。幅 * 高さ * 4 バイトのメモリを使用する各画像を当てにすることができます。たとえば、720x540 の各画像には最大 1.5MB のメモリが必要です。

少なくとも必要なメモリ量に関しては、どこからロードするかは問題ではありません。

今これを読んで、

http://developer.android.com/training/displaying-bitmaps/cache-bitmap.html

于 2013-08-01T00:25:06.100 に答える