【问题标题】:How to display local video thumbnails with glide WITHOUT slowing down the listview?如何在不减慢列表视图的情况下通过滑行显示本地视频缩略图?
【发布时间】:2017-04-07 03:54:06
【问题描述】:

我正在尝试以这种方式显示本地视频缩略图,它确实在列表中显示了缩略图。然而,列表变得非常难以滚动。 有没有更好的方法来解决这个问题? https://futurestud.io/tutorials/glide-displaying-gifs-and-videos

    VideoItem current = (VideoItem) getItem(position);
    mHolder.mTvName.setText(current.getName());
    mHolder.mTvDuration.setText( Utils.convertDuration(current.getDuration()));
    mHolder.mTvSize.setText(formatFileSize(mContext, current.getSize()));


    Glide.with(mContext)
            .load(Uri.fromFile(new File(current.getPath())))
            .transform(new GlideRoundTransform(mContext, 12))
            .into(mHolder.mIvIcon);

    return convertView;

【问题讨论】:

标签: android thumbnails android-glide


【解决方案1】:

我发现以下答案也有效:

Uri uri = Uri.fromFile(new File(media.getPath()));
Glide.with(getContext()).
load(uri).
thumbnail(0.1f).
into(viewHolderImage.recordedMedia);

【讨论】:

    【解决方案2】:

    是的,请改用 RecyclerView。它不会存储所有图片,仅存储那些适合屏幕的图片,并且很少隐藏用于缓存

    【讨论】:

    • 这是一个误导性的答案,如果 getView 方法正确实施,ListView 正在重用视图。
    【解决方案3】:

    我终于找到了解决这个案子的办法。 Glide 有一个方法叫 thumbnail(float sizeMultiplier),它只是压缩原始图像的大小。现在我的 listView 滚动时更平滑了。

           Glide.with(mContext)
                .load(Uri.fromFile(new File(current.getPath())))
                .transform(new GlideRoundTransform(mContext, 16))
                .thumbnail(0.1f)
                .into(mHolder.mIvIcon);
    

    【讨论】:

      猜你喜欢
      • 2022-09-24
      • 1970-01-01
      • 2011-03-25
      • 2018-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多