flutter_cache_manager_hive
Just like flutter_cache_manager but uses hive instead of sqlite to store cache object information.
EXPERIMENTAL
Usage
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
)
Performance
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.