从AWS S3加载图片需要花费太多时间

时间:2017-01-13 08:35:04

标签: android gridview amazon-s3 imageview

在我的Android应用中,我有GridView使用BaseAdapter从DynamoDB和S3加载数据以设置每个单元格。
这是我用来从S3获取项目图片的代码:

    ExecutorService exec = Executors.newSingleThreadExecutor();
    Future<Bitmap> future = exec.submit(new Callable<Bitmap>() {
        @Override
        public Bitmap call() {
            try {
                url = new URL(/*S3 url*/);
                bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream());
            } catch (MalformedURLException e) {
                Log.e("Malformed", e.getMessage());
            } catch (IOException e) {
                Log.e("IO", e.getMessage());
            }
            return bmp;
        }
    });
    try {
        holder.itemImage.setImageBitmap(future.get());
    } catch (ExecutionException e) {
        Log.e("Execution", e.getMessage());
    } catch (InterruptedException er) {
        Log.e("Interrupted", er.getMessage());
    }

代码从S3 Bitmap获取URL,并将ImageView单元格布局上的GridView设置为S3 URL上的.jpg文件。问题是从S3获取图像需要很长时间。

有没有办法加速这个过程?也许在开始时编写这段代码并将其加载到那里?

0 个答案:

没有答案