2012-01-30 11 views
3

次の状況でメモリを管理するにはどうすればよいですか?Android - ビットマップとメモリの管理?

Bitmap bitmap = myBitmapProvider.getBitmap(); 
myImage.setImageBitmap(bitmap); 

私の理解に基づいて、これはメモリリークが発生します(そして、はい、私はメモリのクラッシュの外に取得しています) //私は、次のコードを試みたが、ビットマップは、私によって使用中であるので、それはアプリをcrasshed ImageView、正しい解決策は何ですか?

bitmap.recycle(); 
bitmap = null; 

答えて

5

私はあなたがこれらのビットマップをたくさん作成しているか、1つの大きなものを作成していると推測しています。それだけで一つの大きなものである場合、あなたは画面上に表示するための画像をダウンサンプリングする上でこの記事をチェックアウトする必要があります:https://stackoverflow.com/a/823966/317862

あなたがそれらの多くを作成する場合は、おそらくこの記事をチェックアウト:http://www.senab.co.uk/2011/12/28/image-caching/

1

は、これが最良の方法ですアンドロイドアプリでビットマップとメモリを管理する次の手順を実行してください:

Bitmap and Memory mgmt

+3

多くの場合、あなたの答えに重要なポイントをまとめるだけではなく、(リンクを提供することをお勧めしますリンクが壊れる可能性があるため、内容変更される可能性があり、サイトにリンクされています、など)。 – jochen