disk_cached_image 0.3.0
disk_cached_image: ^0.3.0 copied to clipboard
A Flutter widget and cache service that downloads network images to disk once, serves them from disk, and supports TTL, eviction, and clearing.
0.3.0 #
- Add
maxBytesandprune(): the cache deletes least recently used files until the stored bytes fit the limit. Entries track their last access in the metadata sidecar. - Add
MemoryImageCache, an LRU store of decoded image bytes, and thememoryCacheargument onDiskCachedImage. - Add
onProgresstofetchandDiskCachedImage. Downloads now stream the response body and report the downloaded fraction when the server sends the content length. - The cache accepts a
clockargument for deterministic access times in tests. - Add
entries()andclearOlderThan(): list the cached files with their size and access time, and expire files the cache has not used for a given duration.
0.2.0 #
- HTTP revalidation: the cache stores ETag and Last-Modified values and sends conditional requests. A 304 keeps the file and refreshes its timestamp.
staleWhileRevalidate: a stale file is served immediately while the refresh runs in the background. The result carries arefreshfuture.precacheandprecacheAllwarm the cache without rendering.clearByPatternremoves entries by URL prefix (String) or match (RegExp).- Entries now keep a JSON metadata sidecar under
.metadata/.
0.1.2 #
- Documentation and internal cleanup.
0.1.1 #
- Rewrite the README. The install section now uses
flutter pub add disk_cached_image.
0.1.0 #
- Initial release.
DiskCachedImagewidget that downloads a network image to disk once and renders it from disk on later builds.DiskImageCacheservice withfetch,evict,clear, andsize.- TTL support through the
maxAgeparameter. - Atomic writes through temporary files and rename.
- Single-flight downloads: concurrent fetches for one cache key share a single HTTP request.
- Cache key validation against path traversal and Windows reserved device names.
- Gapless refresh when a stale file is replaced.