[英]How to handle large amount of pictures. which thumbnails sould be shown in android app?
我的Android应用程序有问题。 我使用的应用程序使用手机/平板电脑的内置摄像头拍摄照片。由于摄像头的高分辨率,这些照片有时尺寸很大。
现在,我加载该应用程序并创建一个listView,其中图片的小缩略图在左侧,右侧是一些文本。
我以这种方式创建图片:
Bitmap a = BitmapFactory.decodeFile(url);
int width = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
(float) 66.0, context.getResources().getDisplayMetrics());
int height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
(float) 48.0, context.getResources().getDisplayMetrics());
Bitmap b = Bitmap.createScaledBitmap(a, width, height, false);
问题在于此步骤需要相当长的时间。
有什么办法可以使速度更快?
没有办法使其更快,但您不应阻塞UI线程。 看到
这是我在这里使用的解决方案: https : //stackoverflow.com/a/5934983/1369222
效果很好!
byte[] imageData = null;
try
{
final int THUMBNAIL_SIZE = 64;
FileInputStream fis = new FileInputStream(fileName);
Bitmap imageBitmap = BitmapFactory.decodeStream(fis);
imageBitmap = Bitmap.createScaledBitmap(imageBitmap, THUMBNAIL_SIZE, THUMBNAIL_SIZE, false);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
imageBitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
imageData = baos.toByteArray();
}
catch(Exception ex) {
}
确保在异步或独立线程任务中执行此操作,以免阻塞UI线程!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.