加载位图图像时回收器视图滚动延迟

时间:2021-06-30 11:36:54

标签: android android-recyclerview bitmap android-glide

我正在使用 recyclerview 展示很多 pdf。我正在将 pdf 的第一页转换为图像,然后将其显示在 pdf 文件旁边。我正在使用 glide 库来加载这些位图。但是,recyclerview 在滚动时滞后。如何让滚动流畅?

pdf转位图代码:-

public static Bitmap pdfToBitmap(File pdfFile) {
        Bitmap bitmap = null;
        try {
            PdfRenderer renderer = new PdfRenderer(ParcelFileDescriptor.open(pdfFile, ParcelFileDescriptor.MODE_READ_ONLY));
            final int pageCount = renderer.getPageCount();
            if (pageCount > 0) {
                PdfRenderer.Page page = renderer.openPage(0);
                int width = (int) (page.getWidth());
                int height = (int) (page.getHeight());
                bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
                page.render(bitmap, null, null, PdfRenderer.Page.RENDER_MODE_FOR_DISPLAY);
                page.close();
                renderer.close();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return bitmap;
    }

将位图加载到 imageview 中的代码:

Glide.with(viewHolder.itemView.getContext())
                .load(bitmap)
                .into(viewHolder.pdfImg);

1 个答案:

答案 0 :(得分:0)

查看我使用 viewpager 显示位图 https://github.com/SaurabhDhage/Lightweight-pdf-viewer

的这个项目