Just like flutter_cache_manager but uses hive instead of sqlite to store cache object information.
EXPERIMENTAL
You should register CacheObjectAdapter
during hive initalization and pass a box to the HiveCacheManager
- this box will be where cache information will be stored.
/// register with the number of your choice (or default)
Hive.registerAdapter(CacheObjectAdapter(typeId: 42))
/// provide the caching box
final box = Hive.openBox('image_cache_info.hive');
/// finally whenever you are using cached network image library:
CachedNetworkImage(
imageUrl: "http://via.placeholder.com/350x150",
placeholder: (context, url) => CircularProgressIndicator(),
errorWidget: (context, url, error) => Icon(Icons.error),
cacheManager: HiveCacheManager(box: box) // this is a singleton factory
)
What this cache manager does is improving access time for cache information. It doesn't change how image binary data is loaded or saved.
The following results are generated by benchmark app included in this repo on Pixel 3.