表示する画像のパスを保持する ArrayList に「接続」されている ViewPager を使用して、独自のギャラリーを作成しています。
これまでのところ、私は使用しています:
Bitmap bitmap = BitmapFactory.decodeFile(path);
imageView.setImageBitmap(bitmap);
imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
それは機能していますが、画像はかなり大きく、後でレイアウトに合わせて縮小されるため、画像全体を不必要にデコードします。速度が遅く、高速でスクロールすると OutOfMemoryError によるクラッシュが発生することがあります。
問題は、パスだけを知っている ImageView.ScaleType.CENTER_INSIDE に 100% 適合するように画像を効率的にデコードするにはどうすればよいかということです。