当前位置: 首页 > news >正文

邢台中高风险地区查询搜索引擎优化到底是优化什么

邢台中高风险地区查询,搜索引擎优化到底是优化什么,wordpress 简易主题,教务网络管理系统Glide本身支持gif格式的动画加载,但是大多数情况下我们用Glide都是去加载一些静态图片,加载gif动态图的需求不是很多,因此这次使用Glide加载gif就遇到了一些令人匪夷所思的问题 问题一:加载gif图片会有明显的卡顿 通常情况下我们…

Glide本身支持gif格式的动画加载,但是大多数情况下我们用Glide都是去加载一些静态图片,加载gif动态图的需求不是很多,因此这次使用Glide加载gif就遇到了一些令人匪夷所思的问题

问题一:加载gif图片会有明显的卡顿

通常情况下我们使用Glide去加载gif或一张图片都是通过如下代码来实现的,我们不需要考虑太多的参数

Glide.with(this).asGif().load(R.drawable.lucky_draw_anim).into(ivAward);

因此,如果你直接这样做了,结果发现显示出来的gif图片会格外卡顿,但是却找不到任何原因,而且原gif图在浏览器上面也是足够流畅的,几乎看不到卡顿的现象

其实Glide还有一些额外的参数可以增加加载的流畅性,例如可以通过

diskCacheStrategy(DiskCacheStrategy.ALL)

方法开启硬盘的缓存,并且Glide中通过

override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)

方法用于指定加载的图片尺寸,这样可以使得gif的加载效率和显示效果更流畅。

具体来说,Target.SIZE_ORIGINAL 表示使用图片的原始尺寸进行加载。这在某些情况下非常有用,例如当你希望图片以原始分辨率显示时,或者当你需要确保图片的清晰度和细节时。

ps:其他的一些缓存参数及解释如下

DiskCacheStrategy 的几种常见策略
DiskCacheStrategy.ALL
行为:缓存原始数据和转换后的数据。
适用场景:适用于需要在不同尺寸和格式下都能快速加载图片的情况。
DiskCacheStrategy.NONE
行为:不缓存任何数据。
适用场景:适用于不需要缓存图片的情况,例如临时图片或敏感信息。
DiskCacheStrategy.DATA
行为:仅缓存原始数据。
适用场景:适用于需要缓存原始图片数据但不需要缓存转换后的数据的情况。
DiskCacheStrategy.RESOURCE
行为:仅缓存转换后的数据。
适用场景:适用于需要缓存转换后的图片数据但不需要缓存原始数据的情况。
DiskCacheStrategy.AUTOMATIC
行为:根据图片的来源自动选择缓存策略。
适用场景:适用于大多数情况,Glide 会根据图片的来源自动选择最合适的缓存策略。

所以加载gif的完整代码如下

Glide.with(APP.getContext()).asGif().load(R.drawable.lucky_draw_anim).diskCacheStrategy(DiskCacheStrategy.ALL).override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL).placeholder(R.drawable.center_bg_default).into(ivAward)

如果大家仔细看会发现with中传递的context使用的是Application的context,这便是下面我要说遇到的问题2

问题二:gif图片会自动重复播放

我通过setLoopCount(1)方法将gif的播放次数设置为1,即播放一次停止播放(不设置的话默认则会连续循环播放动画),但是会发现如果仅是这样设置,当with方法传递的context是当前Activity则会导致如果已经播放过一次动画,然后跳转到其他页面再回来,动画会自动再次播放...

后来联想到Glide本身会跟随生命周期于是想到是context导致的问题,于是with使用Application的Context便解决了这个问题,动画不会再重复播放了。

实现完整代码如下:

Glide.with(APP.getContext()).asGif().load(R.drawable.lucky_draw_anim).diskCacheStrategy(DiskCacheStrategy.ALL).override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL).placeholder(R.drawable.center_bg_default).listener(new RequestListener<GifDrawable>() {@Overridepublic boolean onLoadFailed(@Nullable GlideException e, @Nullable Object model, @NonNull Target<GifDrawable> target, boolean isFirstResource) {return false;}@Overridepublic boolean onResourceReady(@NonNull GifDrawable resource, @NonNull Object model, Target<GifDrawable> target, @NonNull DataSource dataSource, boolean isFirstResource) {if (gifDrawable == null) {gifDrawable = resource;// 设置播放次数gifDrawable.setLoopCount(1);gifDrawable.registerAnimationCallback(new Animatable2Compat.AnimationCallback() {@Overridepublic void onAnimationStart(Drawable drawable) {super.onAnimationStart(drawable);}@Overridepublic void onAnimationEnd(Drawable drawable) {super.onAnimationEnd(drawable);// GIF播放完毕后的处理逻辑luckyDrawDialog.show();}});gifDrawable.start();}return false;}}).into(ivAward);

http://www.yayakq.cn/news/939128/

相关文章:

  • 赣州网站维护wordpress 数据库查询插件
  • 中文企业展示网站模板网站以前在百度能搜索不到了
  • 开发网站类型百度一下你就知道手机版官网
  • 如何做竞价网站做暧暧视频网站w
  • WordPress首页不收录昆明百度搜索排名优化
  • 郑州网站推广 汉狮网络微信小程序 连接网站
  • 公司做网站卖东西要什么证深圳保障房申请条件2022
  • 网站开发还是做数据库开发自定义网站模板
  • 商城网站后台模板社交网站开发难度
  • 培训学校如何做网站宣传品牌建设工作的意义
  • 建设网站的账务处理电商网站开发研究内容和预期成果
  • 网站开发技术thinkphp网站建设的书籍
  • 酒店网站建设策划方案wordpress 使用七牛
  • 大航母网站建设怎么样做农资的网站
  • wordpress工作室重庆seo排名收费
  • 国外做问卷网站天津建设工程信息网 塘沽一中
  • html网站建设流程图网页编辑哪个键
  • jsp网站开发视频德州极速网站建设小程序
  • 专做教育网站拿站lnmp一键安装包 wordpress
  • 定制网站本地企业网站备案之后
  • php网站开发 vip旅游网站的长图是怎么做的呀
  • 昌都市网站建设如何成立公司
  • 怎么看一个网站用什么平台做的郑州百姓网二手货车
  • 北京网站建设软件wordpress文章无法中文版
  • 成都建立网站什么样的笔记本电脑适合网站开发
  • 贵州省住房和城乡建设厅网网站海外推广运营
  • 苏州外贸网站建设制作方案做音乐相册的网站
  • 做网站干什么用国家城乡和住房建设部网站首页
  • 肇庆自助网站建设系统做视频特技的网站
  • 中山环保骏域网站建设专家西安搜推宝网络科技有限公司