我正在开发一个非常基本的android图库,它可以显示相机文件夹中的最后一张照片,用户可以向左滑动查看前一张。
我使用了ViewPager和PagerAdapter实现了这个功能,并使用sampleSize缩放图像。我的问题是,实现效率远不如默认的图库应用程序,每次滑动图片都需要等待大约200毫秒才能加载下一张。所以,我的想法在如何实现它方面并没有起到作用。
有什么方法可以高效地完成这个任务,如果可能,还可以允许稍后进行缩放吗?
这看起来很有前途,但我不知道如何将其与文件一起实现,而不是使用drawables。http://www.androidviews.net/2012/11/photoview/
编辑:
我成功地使用photoview(一个被修改过的viewpager)提高了速度,但是将文件路径转换为位图或drawable却需要太长时间。
我已经尝试了dilix和iDroid Explorer建议的这两种方法:
// Method A
Drawable d = Drawable.createFromPath(imagePath);
imageView.setImageDrawable(d);
// Method B
Bitmap myBitmap = BitmapFactory.decodeFile(imagePath);
imageView.setImageBitmap(myBitmap);
但是两者都会产生错误位图太大,无法上传到纹理
。我需要尽快将图像传递给imageView并绕过此错误,或许可以获得更好的速度。目前我正在缩放图像并将它们转换为drawable,但效率并不高。