Я строю очень основную галерею на Android, она показывает последнее изображение в папке камеры, и пользователь может скользить влево, чтобы увидеть предыдущий.
Я закончил реализацию с помощью viewpager и pagerAdapter, используя sampleSize для масштабирования изображений. Моя проблема в том, что реализация нигде не эффективна, как приложение галереи по умолчанию, каждый раз, когда вы перемещаете изображение, вам нужно подождать около 200 мс для следующей загрузки. Поэтому в основном моя идея о том, как его реализовать, не работает.
Как я могу сделать это эффективно и, если возможно, с реализацией, которая позволяет в дальнейшем изменять масштаб?
Это выглядит многообещающе, но я не знаю, как реализовать его с файлами вместо чертежей http://www.androidviews.net/2012/11/photoview/
EDIT:
Мне удалось немного улучшить скорость, используя photoview (взломанный просмотрщик), однако для преобразования файлов в растровые изображения или чертежи требуется слишком много.
Я пробовал эти два метода, предложенные dilix и iDroid Explorer:
// Method A
Drawable d = Drawable.createFromPath(imagePath);
imageView.setImageDrawable(d);
// Method B
Bitmap myBitmap = BitmapFactory.decodeFile(imagePath);
imageView.setImageBitmap(myBitmap);
Но оба порождают ошибку Bitmap too large to be uploaded into a texture
. Мне нужно как можно быстрее получить изображение в ImageView и как-то обойти эту ошибку, и, может быть, я получу приличную скорость. Сейчас я масштабирую изображения и преобразовываю их в drawable, но это не очень эффективно.