/flutter_cache_manager_hive

A hive implementation for flutter_cache_manager

Primary LanguageDartMIT LicenseMIT

flutter_cache_manager_hive

pub package

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.