Android Glide 4.0缓存问题处理圆角加载视频第一帧

1.环境:Android 5.1版本手机,Glide 4.0.0版本
问题:
我在用一个图片转向方法处理了图片后,使用Glide加载新图片到原来的ImageView发现,几乎不会更新,加载方式如下:

Glide.with(activity)
                .asBitmap()
                .load(normalShowPicPath)
                .apply(new RequestOptions()
                        .centerCrop()
                        .priority(Priority.HIGH)//优先级别:高
                )
                .into(image);

处理方式:
1.我在Main线程中使用了 Glide.get(activity).clearMemory();来清理内存
2.我在图片处理的子线程中加了Glide.get(context).clearDiskCache();来清理磁盘缓存
3.最后我使用了这种方式来加载:

 Glide.with(activity)
                .asBitmap()
                .load(normalShowPicPath)
                .apply(new RequestOptions()
                        .centerCrop()
                        .skipMemoryCache(true)//跳过内存缓存
                )
                .into(image);

4.可以正常显示了

5.加载圆角图片—取视频第100ms得帧

            Glide.with(mContext)
                    .setDefaultRequestOptions(
                            new RequestOptions().bitmapTransform(new GlideRoundTransform(20))
                                    .frame(100 * 1000)//取100毫秒
                                    .error(R.mipmap.video_bg)//可以忽略
                    )
                    .load(path)
                    .into(holder.heighlightImage);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Android 中使用 Glide 加载网络视频,你可以按照以下步骤进行操作: 1. 首先,在你的 Android 项目中添加 Glide 的依赖。你可以在项目的 `build.gradle` 文件中的 `dependencies` 块中添加以下代码: ```groovy implementation 'com.github.bumptech.glide:glide:4.12.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0' ``` 2. 确保你已经在 AndroidManifest.xml 文件中添加了网络权限: ```xml <uses-permission android:name="android.permission.INTERNET" /> ``` 3. 在你需要加载网络视频的地方,使用 Glide 的 `VideoViewTarget` 类来加载视频。首先,导入 Glide 相关的类: ```java import com.bumptech.glide.Glide; import com.bumptech.glide.request.RequestOptions; import com.bumptech.glide.request.target.Target; import com.bumptech.glide.request.target.ViewTarget; import com.bumptech.glide.request.transition.Transition; import com.bumptech.glide.request.transition.TransitionFactory; ``` 4. 然后,使用以下代码加载视频: ```java String videoUrl = "Your video URL"; Glide.with(context) .load(videoUrl) .apply(RequestOptions.noTransformation()) .into(new ViewTarget<View, Drawable>(yourVideoView) { @Override public void onResourceReady(@NonNull Drawable resource, Transition<? super Drawable> transition) { if (resource instanceof GifDrawable) { GifDrawable gifDrawable = (GifDrawable) resource; gifDrawable.setLoopCount(GifDrawable.LOOP_FOREVER); gifDrawable.start(); } else if (resource instanceof BitmapDrawable) { BitmapDrawable bitmapDrawable = (BitmapDrawable) resource; Bitmap bitmap = bitmapDrawable.getBitmap(); // Do something with the bitmap } } }); ``` 在上面的代码中,将 "Your video URL" 替换为你要加载的网络视频的 URL,同时将 `yourVideoView` 替换为要显示视频的 `VideoView` 或 `SurfaceView`。 这样,使用 Glide 加载网络视频就完成了。请注意,Glide 也可以加载其他类型的图片资源和动画资源。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值