木辛老师来了,本节课咱们一起来看看如何在Flutter中使用数据缓存功能吧!
请点击右上角“关注”按钮关注我们哟:跟着木辛老师学习Flutter基础编程知识,变身快乐的编程达人吧~
数据的缓存对于一个APP的性能是至关重要的。通过缓存,你可以避免很多重复的数据加载过程的资源消耗和代码占用,特别是,持续多次的重复数据的请求会导致你的APP速度变得很慢。
实际上,有的时候,你稍微注意一下这一点就会节省很可观的成本支出。
通过本文,大家一起来看看如何使用开源缓存管理器解决方案缓存文件的例子。这些都是通用的,所以呢,可用于任何文件。
使用flutter_cache_manager
这是一个缓存管理器,用来管理APP中缓存目录下的下载和缓存的文件
我们使用这个解决方案,能够通过修改很多参数设置文件的保持时间。同时,使用缓存控制 http 头来高效检索文件。
STEP1:装它,装它,装它!
安装它的方法还是老一套,如果你是第一次看木辛老师的文章,不知道怎么安装,那么请往下看;如果你已经对安装组件非常熟悉了,直接跳到STEP2吧。
修改项目目录下的pubspec.yaml,并添加如下依赖:
dependencies:
flutter_cache_manager: ^3.1.2
添加完了,就执行同步命令进行组件的下载:
flutter pub get
或者你可以直接安装组件:
flutter pub add flutter_cache_manager
STEP2:开始写代码
万事都是要从导入库开始的
import 'package:flutter_cache_manager/flutter_cache_manager.dart';
万事具备就可以开始啦
来!获取一个文件试试
var file = await DefaultCacheManager().getSingleFile(url);
就是这么简单,有木有?
再来看看更多有用的函数
getFileStream(url) :返回一个数据流,如果已经被缓存在本地,则直接返回;否则会去网上拉取一次数据;
getFileStream(url, withProgress: true) :当你设置了第二个参数为True的时候,如果当前文件没有被缓存的话,就会去网上下载并且会得到下载进度;
downloadFile(url):直接从网络上下载;
getFileFromCache :仅从缓存中检索,当文件不在缓存中时不返回任何文件;
putFile :允许在不下载的情况下,直接将新文件直接放入缓存中;
removeFile :删除缓存中的文件;
emptyCache :清除缓存中的所有文件。
好啦,今天就讲到这里吧,缓存的操作还是很简单的,大家一起去试试吧。
请大家关注木辛老师的课程哟,获取更多编程知识和编程技巧。接下来,木辛老师和大家一步一步地学习Flutter知识吧。
快乐编程,快乐成长!
咱们下节课再见,88~
<script type="text/javascript" src="//mp.toutiao.com/mp/agw/mass_profit/pc_product_promotions_js?item_id=7020989624470241830"></script>
本文暂时没有评论,来添加一个吧(●'◡'●)