Sketch

Android 图片加载器
授权协议 Apache-2.0
开发语言 Kotlin Java
所属分类 手机/移动开发、 Android UI 组件
软件类型 开源软件
地区 国产
投 递 者 郑俊美
操作系统 Android
开源组织
适用人群 未知
 软件概览

Sketch 是 Android 上一款强大且全面的图片加载器,除了图片加载的必备功能外,还支持 GIF,手势缩放、分块显示超大图片、自动纠正图片方向、显示视频缩略图等功能

特性:

  • 多种 URI 支持. 支持 http://https://asset://content://file:///sdcard/sample.jpg /sdcard/sample.jpgdrawable://data:image/data:img/android.resource://apk.icon://app.icon:// 等 URI,通过 UriModel 还可以扩展支持的 URI
  • 支持 gif 图片. 集成了 android-gif-drawable 1.2.19 可以方便的显示 gif 图片
  • 支持手势缩放. 支持手势缩放功能,在 PhotoView 的基础上进行了优化,增加了滚动条,定位等功能
  • 支持分块显示超大图. 支持分块显示超大图功能,从此再大的图片也不怕了
  • 支持三级缓存. 通过 LruMemoryCache、LruDiskCache 复用图片,加快显示时间;通过 LruBitmapPool 复用 Bitmap,减少因 GC 而造成的卡顿
  • 支持纠正图片方向. 可纠正方向不正的图片,并且分块显示超大图功能也支持,仅限 JPEG 格式的图片
  • 支持显示 APK 或 APP 图标. 支持显示本地 APK 文件的图标或根据包名和版本号显示已安装APP的图标
  • 支持 Base64 图片. 支持解析 Base64 格式的图片
  • 支持各种列表. 在各种列表(ListView、RecyclerView)中循环使用不错位,并且不占用 setTag() 方法
  • 自动防止加载过大 Bitmap 可通过 maxSize 来控制加载到内存的图片的尺寸,默认为 ImageView的 layout_width 和 layout_height 或屏幕的宽高
  • 独家 TransitionDrawable 支持. 独家支持任意尺寸的两张图片使用 TransitionDrawable 过渡显示,保证不变形
  • 只加载或只下载. 除了 display() 方法可以显示图片之外,你还可以通过 load() 方法只加载图片到内存中或通过 download() 方法只下载图片到本地
  • 移动数据下暂停下载. 内置了移动数据下暂停下载图片的功能,你只需开启即可
  • 自动选择合适的 Bitmap.Config. 根据图片的 MimeType 自动选择合适的 Bitmap.Config,减少内存浪费,例如对于 JPEG 格式的图片就会使用 Bitmap.Config.RGB_565 解码
  • 强大且灵活的自定义. 可自定义 URI 支持、HTTP、下载、缓存、解码、处理、显示、占位图等各个环节

支持的 URI

Type Scheme
File in network http://, https://
File in SDCard /, file://
Content Resolver content://
Asset Resource asset://
Drawable Resource drawable://
Base64 data:image/, data:/img/
APK Icon apk.icon://
APP Icon app.icon://
Android Resource android.resource://

详情请参考 URI 类型及使用指南

支持的图片类型

  • jpeg
  • png
  • gif
  • bmp
  • webp
 相关资料
  • 使用指南 组件介绍 Lazyload 是 Vue 指令,使用前需要对指令进行注册 引入方式 import Vue from 'vue'; import Lazyload from 'vue-lazyload'; Vue.use(Lazyload, { lazyComponent: true, //失败时显示 (可以自定义) error: 'https://nuofe.nnte

  • DWZ 火山引擎图片加载插件 dwz-BytedanceImageX 字节跳动火山引擎图片加载 SDK 插件【dcloud】 功能介绍 uni 原生插件市场中查看 本插件是针对字节跳动火山引擎图片加载 SDK 的封装: 支持现代图片格式 heic、heif、webp、heif、avif 在 HTML5 混合 App 中展示 支持用户感知失败率、解码失败率、解码耗时、超分成功率、超分耗时、排队耗时、

  • DWZ 火山引擎图片加载插件 dwzBytedanceImageX 字节跳动火山引擎图片加载 SDK 插件【apicloud】 功能介绍 uni 原生插件市场中查看 本插件是针对字节跳动火山引擎图片加载 SDK 的封装: 支持现代图片格式 heic、heif、webp、heif、avif 在 HTML5 混合 App 中展示 支持用户感知失败率、解码失败率、解码耗时、超分成功率、超分耗时、排队耗时

  • 问题内容: 我一直在寻找一个简单但并非琐碎的问题的答案:仅使用jqLit​​e在Angular中捕获图像事件的正确方法是什么?但是我想要一些指令解决方案。 因此,正如我所说,这对我来说是不可接受的: 因为它在控制器中,而不在指令中。 问题答案: 这是angular内置事件处理指令样式的可重用指令: 触发img load事件时,将在当前作用域中将sb-load属性中的表达式与load事件一起评估,并

  • 问题内容: 我想使用Picasso在列表视图中一个接一个地加载三个连续的图像。使用毕加索提供的方法可以轻松做到这一点。但是,由于这些图像在不同的时间加载,因此在图像进入时会产生闪烁效果。例如,有时图像2出现在图像1之前,而当图像1加载时会导致不自然的结结。如果可以将listview的可见性设置为不可见,直到可以显示所有图像,那将更好。但是,我找不到用于毕加索的回调方法,该方法会在加载图像时发出信号

  • 问题内容: 我已经按照所有的教程讲完话了。我在CSS样式表中的身体内部指定了背景,但是页面仅显示空白的白色背景。图片与.html和.css页面位于同一目录中。本教程说 已弃用,所以我在CSS中使用 没有成功。这是整个CSS样式表: 问题答案: 这是另一个图片网址结果..工作正常…我只是放了一个图片路径..请检查一下..

  • 本文向大家介绍Fresco加载手机图片墙,包括了Fresco加载手机图片墙的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下 //网络权限 //添加依赖 布局文件 activity_main activity_zoom_image fresco_item MyViewHolder MyRecyclerViewAdapter

  • 本文向大家介绍说一下图片的懒加载和预加载?相关面试题,主要包含被问及说一下图片的懒加载和预加载?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 预加载:提前加载图片,当用户需要查看时可直接从本地缓存中渲染。 懒加载:懒加载的主要目的是作为服务器前端的优化,减少请求数或延迟请求数。   两种技术的本质:两者的行为是相反的,一个是提前加载,一个是迟缓甚至不加载。 懒加载对服务器前端有一定的缓解