- Cache Image in disk
- Cache Image in memory
- Preload image in RxCacheManager
rxcache_network_image: 1.0.7
หากใช้งานแล้วติดปัญหาสามารถเข้ามาสอบถามได้ที่เพจเฟส ได้เลยนะครับ Facebook Page
RxImage.cacheNetwork(
url: urls[index],
);
///set memory cache
cacheManager.setMemoryCache(size)
///download image
cacheManager.download()
///get file cache
cacheManager.getFile()
class CustomCacheManager extends BaseRxCacheManager {
static CustomCacheManager? _instance;
CustomCacheManager._({String folder = "rx_image_cache"}) : super(folder: folder);
factory CustomCacheManager({String folder = "rx_image_cache"}) {
_instance ??= CustomCacheManager._(folder: folder);
return _instance!;
}
}
class _MyHomePageState extends State<MyHomePage> {
final cacheManager = RxCacheManager();
@override
void initState() {
///preload and cache disk
for (final url in urls) {
cacheManager.download(url: url).then((value) => null);
}
super.initState();
}
@override
void didChangeDependencies() {
super.didChangeDependencies();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Theme.of(context).colorScheme.inversePrimary,
title: Text(widget.title),
),
body: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Expanded(
child: ListView.builder(
itemCount: urls.length,
itemBuilder: (context, index) {
return RxImage.cacheNetwork(
url: urls[index],
);
},
))
],
),
);
}
}