【问题标题】:How to reduce the time for video thumbnail如何减少视频缩略图的时间
【发布时间】:2020-01-01 02:43:01
【问题描述】:

所以我正在从特定文件夹中选择文件文件夹,但在视频列表中显示视频列表,我将使用视频缩略图显示文件名,这就是问题开始的地方,我正在使用这种方法来获取拇指

 Bitmap bmThumbnail = ThumbnailUtils.
            extractThumbnail(ThumbnailUtils.createVideoThumbnail(info.getFilename(),
                    MediaStore.Video.Thumbnails.MINI_KIND), 60, 60);
    if(bmThumbnail != null) {
        imageView.setImageBitmap(bmThumbnail);}

即使我没有设置位图,该过程也花费了太多时间来打开新片段,而如果我调用以下位图,仅显示名称是平滑的,大约需要 6-7 秒才能显示名单。当我在适配器中测试应用程序然后在回收器视图中测试时,适配器中发生了以下事情

所以我想知道最好的方法是什么。

对于使用图像加载器,我需要不存在的 url,因为我使用文件 url 获取专辑封面,但它不会直接生成专辑封面 url。

【问题讨论】:

  • 永远不要在 Android 中使用原始位图来处理图像加载。有大量专门为此目的而设计的库(Glide、Picasso 等),它们将以更有效的方式处理工作(顺便说一句,异步)
  • 我认为这是我的第一选择,但为此,我需要缩略图 url
  • 我一开始提到了这个stackoverflow.com/questions/38541928/…然后我来问

标签: android android-imageview thumbnails android-video-player


【解决方案1】:

处理这样的图像和视频需要时间。特别是在与一大群人打交道时。您不太可能加快操作,但您可以通过将其发送到后台来使您的应用程序不必等待它。如果您准备转换为 Kotlin,我推荐 Kotlin 协程。否则我建议制作缩略图工作经理

public class VideoThumbnailWorker extends Worker {

}

【讨论】:

  • 问题是所有这些都在绑定我的适配器中,否则我最好使用异步任务来处理这种事情
  • 那又怎样?必须在适配器中处理这个问题并不会阻止您使用 Worker 来异步处理您的工作,如指定的那样
  • 尝试了解工作线程无法与 ui 线程交互,我正在设置这个,即使我拨打电话,只要项目位于不同的位置,就会没有线程 @ ArthurAttout
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-18
  • 2010-12-01
  • 2017-04-10
  • 2023-04-05
  • 2011-05-12
  • 2010-11-19
  • 2013-09-24
相关资源
最近更新 更多