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

洛阳霞光做网站的公司潍坊网站建设小程序制作

洛阳霞光做网站的公司,潍坊网站建设小程序制作,橱柜手机网站模板,网络服务器搭建与管理为了结合使用 CachedNetworkImage 和 flutter_image_compress 插件,实现对网络图片的缓存和压缩,避免重复加载和减少内存占用,可以按照以下步骤进行: 1. 添加依赖 确保在 pubspec.yaml 文件中添加了以下依赖: depen…

为了结合使用 CachedNetworkImageflutter_image_compress 插件,实现对网络图片的缓存和压缩,避免重复加载和减少内存占用,可以按照以下步骤进行:

1. 添加依赖

确保在 pubspec.yaml 文件中添加了以下依赖:

dependencies:flutter:sdk: fluttercached_network_image: ^3.3.0flutter_image_compress: ^1.2.0

运行以下命令以安装依赖:

flutter pub get

2. 创建自定义图片组件

创建一个自定义图片组件,结合 CachedNetworkImageflutter_image_compress 插件:

import 'dart:typed_data';
import 'package:flutter/material.dart';
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter_image_compress/flutter_image_compress.dart';class OptimizedCachedNetworkImage extends StatelessWidget {final String imageUrl;final int quality;final int minWidth;final int minHeight;const OptimizedCachedNetworkImage({Key? key,required this.imageUrl,this.quality = 80,this.minWidth = 1024,this.minHeight = 1024,}) : super(key: key);Future<Uint8List?> _compressImage(Uint8List imageBytes) async {try {List<int>? compressedBytes = await FlutterImageCompress.compressWithList(imageBytes,quality: quality,autoCorrectionAngle: true,minWidth: minWidth,minHeight: minHeight,);return compressedBytes != null ? Uint8List.fromList(compressedBytes) : null;} catch (e) {print("图片压缩失败:$e");return null;}}Widget build(BuildContext context) {return CachedNetworkImage(imageUrl: imageUrl,imageBuilder: (context, imageProvider) {return FutureBuilder<Uint8List?>(future: _compressImage(imageProvider.resolve(ImageConfiguration()).toString()),builder: (context, snapshot) {if (snapshot.connectionState == ConnectionState.waiting) {return const CircularProgressIndicator();} else if (snapshot.hasError || snapshot.data == null) {return const Icon(Icons.error);}return Image.memory(snapshot.data!,fit: BoxFit.cover,);},);},placeholder: (context, url) => const CircularProgressIndicator(),errorWidget: (context, url, error) => const Icon(Icons.error),);}
}

3. 使用示例

在需要显示图片的地方使用上面创建的组件:

import 'package:flutter/material.dart';void main() {runApp(const MyApp());
}class MyApp extends StatelessWidget {const MyApp({super.key});Widget build(BuildContext context) {return MaterialApp(home: Scaffold(appBar: AppBar(title: const Text('优化的网络图片加载'),),body: Center(child: OptimizedCachedNetworkImage(imageUrl: 'https://example.com/image.jpg',quality: 80,minWidth: 800,minHeight: 600,),),),);}
}

关键点说明

  • 使用 CachedNetworkImage:确保图片被缓存,避免重复的网络请求和解码。
  • 使用 flutter_image_compress:对下载的图片进行压缩,减少内存占用和提升显示效率。
  • 结合两者的优势:通过 CachedNetworkImage 避免重复加载,通过 flutter_image_compress 减少内存占用,提高应用性能。
http://www.dtcms.com/wzjs/795022.html

相关文章:

  • 产品少的电商网站怎么做动漫设计与制作主要学什么
  • 网站建设按什么合同交印花税百度的网站名
  • discuz网站ip那个网站做系统好
  • 网站用户引导重庆南川网站制作公司推荐
  • 如何做适合手机访问的网站网站平台怎么推广
  • 做网站白云苗族网站建设
  • 网站备案 空间备案 域名备案商业网
  • 爱站网长尾晋江论坛怎么搜索
  • 网站界面设计的基本原则是什么建设部网站注册规划师查询
  • 公司网站设小程序定制开发公司
  • 论述网站建设过程中应注意的问题app开发公司重庆
  • 重庆转店铺哪个网站平台好景观石网站建设方案
  • 秦皇岛做网站优化亚马逊雨林
  • 免费网站建设找哪家旅游类网站建设受众分析
  • 做网站销售怎么样网页设计与制作第六版
  • 云盘做网站文件建设网站注意什么
  • 网站建设后台怎么弄wordpress菜单 不显示
  • 嘉兴型网站系统总部做土特产网站什么名字最好
  • 可以悬赏做任务的叫什么网站wordpress博客投稿
  • 西安免费自助建站模板手机创建网站
  • 内网网站如何建设方案网站排名优化技巧
  • 备案后的域名改网站名专业公司网站 南通
  • 网页制作个人介绍模板优化网站建设
  • 不记得在哪里做的网站备案wordpress自定义分类调用
  • 中型网站开发语言网站建设 乐达云创
  • 专门做家具网站毕业设计代做网站jsp
  • 目标网站上做关键字布局只做百度移动端网站可以吗
  • 网页制作素材库哪个网站如何购买建设网站系统
  • 胡芦娃app软件下载网站wordpress首页显示推荐标志
  • 福州建网站公司网络规划设计师待遇怎么样