0

アプリケーションのアクティビティの背景にいくつかのpng画像を使用しています。これらのpngファイルは、ほとんどが非常に小さいサイズの画像です。たとえば、私は768x1024のサイズのものを使用していますが、これは実際にはディスク上で29.6KBです。私がSamsungNote1でアプリケーションを実行したとき、私は画像が実際に約を消費することに気づきました。3MBのメモリ。そのため、AndroidはPNGファイルを完全なARGBビットマップ(768x1024x4バイト)に解凍しているようです。これは、Androidが画像をリサンプリング/サイズ変更し、PNGファイルをdrawable-nodpiフォルダーに配置した結果である可能性があると思いましたが、これにより同じ量のメモリが消費されました。

それで、この場合、私は何をすべきですか、私はこの減圧動作をどうにかして防ぐことができますか?このプロジェクトでは、さまざまなアクティビティにさまざまな画像を配置する必要があるため、ある時点でメモリ不足エラーが発生するようです。私はAndroidの初心者ですが、システムが画像リソースをどのように処理するか正確にはわからないため、ここで何かを見逃す可能性があります。

4

1 に答える 1

1

in to the application tagマニフェストのにこれらの2行を追加してみてください

android:hardwareAccelerated="false"
android:largeHeap="true" 

ただし、メモリ効率の高いアプリを作成している場合は、これらはお勧めしませんが、これは実際に機能します。

于 2013-09-10T03:27:16.570 に答える