SuperAPI AI 工具集

coil-compose

设计与创作

查看项目

更新于 10-16 01:36

技能介绍

用途:在 Jetpack Compose 中实现图片加载时,提供使用 Coil(Coroutines Image Loader)的专家指导,适用于从 URL 加载图片、处理加载状态与优化性能等场景。

主要能力与用法:

  1. 首选 AsyncImage,适用于大多数场景,自动处理尺寸解析并支持标准 Image 参数,可配合 ImageRequest.Builder 设置 data、crossfade(true),并传入 placeholder、error、contentDescription、contentScale 与 modifier。
  2. 仅在需要 Painter(如 Canvas、Icon)或需手动观察加载状态时使用 rememberAsyncImagePainter。注意它默认按原始尺寸加载,不检测屏幕显示尺寸,必要时显式设置 size(Size.ORIGINAL)。
  3. 需要自定义 Loading、Success、Error 插槽时使用 SubcomposeAsyncImage,但子组合比常规组合慢,应避免在 LazyColumn、LazyRow 等性能敏感区域使用。

性能与最佳实践:整个应用使用单例 ImageLoader 以共享磁盘与内存缓存;Coil 自动在后台线程执行请求,主线程安全;建议在 ImageRequest 中启用 crossfade(true) 以获得更平滑的过渡;合理设置 contentScale,避免加载过大的图片。

实现检查清单:优先使用 AsyncImage;为图片提供有意义的 contentDescription,装饰性图片设为 null;使用 crossfade(true) 改善体验;避免在列表中使用 SubcomposeAsyncImage;按需配置 ImageRequest,例如使用 CircleCropTransformation 等变换。

限制:资料未提供具体版本要求、依赖安装命令、收费与平台信息,暂未提供。