Androidで画像ギャラリーを実装しようとしています。コードはhttp://www.mobisoftinfotech.com/blog/android/android-gallery-widget-example-and-tutorial/に基づいており、詳細をいくつか変更しました。
私は WeakReference を使用していますが、ビットマップが多すぎると、ガベージ コレクターが弱参照を破棄するようです。どうすればこれを処理できますか?
この関数を介してビットマップを取得します。
public static WeakReference<Bitmap> getBitmap(String imageName, int width,
int height) {
String pathToImage = getPathToImage(imageName);
Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeFile(pathToImage, options);
/*
* Calculate inSampleSize
*/
options.inSampleSize = calculateInSampleSize(options, width, height);
// Decode bitmap with inSampleSize set
options.inJustDecodeBounds = false;
WeakReference<Bitmap> scaledBitmap = new WeakReference<Bitmap>(
BitmapFactory.decodeFile(pathToImage, options));
return scaledBitmap;
}
そして、私は320x480のソリューションを取ったので、それほど大きくないと思います...
ギャラリーに 3 つ以上の写真がある場合、一部の写真が表示されません。
ギャラリーチュートリアルはあまり良くないですか?これを実装する他の方法はありますか?
ありがとうございました!