You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Flutter应用中使用cached_network_image?安装遇依赖冲突求解决

解决cached_network_image版本冲突及使用指南

版本冲突解决

你遇到的错误是依赖版本不兼容导致的:cached_network_image >=3.2.0依赖的flutter_cache_manager ^3.3.0需要http ^0.13.0,但你的项目同时依赖http ^1.0.0,两者版本不匹配,导致解析失败。

有两种可行的解决方式:

  • 方案一:升级cached_network_image到兼容版本
    修改pubspec.yaml中的依赖,使用支持http 1.x的新版本:

    cached_network_image: ^3.3.0
    

    执行flutter pub get重新安装依赖即可。

  • 方案二:降级http到兼容版本
    如果不想升级cached_network_image,可以将http版本降级到^0.13.0系列:

    http: ^0.13.5
    

    注意:此方案可能影响其他依赖http 1.x的包,需确认项目其他组件不受影响后再使用。

cached_network_image基本使用

1. 导入包

在需要使用的Dart文件中导入:

import 'package:cached_network_image/cached_network_image.dart';

2. 基础加载示例

直接使用CachedNetworkImage组件加载网络图片,自带占位符和错误处理:

CachedNetworkImage(
  imageUrl: 'https://your-image-url.com/image.jpg',
  placeholder: (context, url) => CircularProgressIndicator(), // 加载时的进度指示器
  errorWidget: (context, url, error) => Icon(Icons.error_outline), // 加载失败显示错误图标
)

3. 自定义配置示例

可以自定义缓存规则、占位符样式等:

CachedNetworkImage(
  imageUrl: 'https://your-image-url.com/image.jpg',
  fit: BoxFit.cover,
  placeholder: (context, url) => Container(
    color: Colors.grey[100],
    child: Center(child: Text('图片加载中...')),
  ),
  cacheManager: CacheManager(
    Config(
      'my_custom_cache',
      stalePeriod: Duration(days: 3), // 缓存有效期3天
      maxNrOfCacheObjects: 100, // 最大缓存数量
    ),
  ),
)

内容的提问来源于stack exchange,提问作者David Adah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 10:38:22