flutter_app_cache_manager 1.0.1
flutter_app_cache_manager: ^1.0.1 copied to clipboard
A comprehensive Flutter cache manager package to cache images, videos, and other files.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.0.1 - 2024-12-19 #
Fixed #
- Interface Naming: Renamed
cache_manager_interface.dart
tobase_cache_manager_interface.dart
for better clarity - Type Safety: Enhanced safe type parsing throughout the codebase using
flutter_shared_utilities
- Error Handling: Improved error handling with proper stack trace preservation using
Error.throwWithStackTrace
- Documentation: Updated API documentation and inline code comments for better clarity
Changed #
- Dependencies: Updated to use
flutter_shared_utilities: ^1.0.7
for improved type safety - Implementation: Refined cache manager implementation for better performance and reliability
- Examples: Enhanced example application with better error handling and user feedback
Technical Improvements #
- Code Quality: Applied lint rules and improved code consistency
- Architecture: Better separation of concerns in interface definitions
- Performance: Optimized cache operations and reduced memory footprint
1.0.0 - 2024-12-19 #
BREAKING CHANGES #
- Initialization Pattern: Removed
initialize()
method in favor of factory constructor- Before:
final manager = FlutterCacheManagerImpl(); await manager.initialize(config);
- After:
final manager = await FlutterCacheManagerImpl.create(config);
- Before:
- Type Safety: All data models now use
parseDefault()
for consistent safe type parsing
Added #
Core Features
- Complete cache manager implementation using
flutter_cache_manager
as the underlying engine - Clean Architecture design with abstract interfaces for dependency inversion
- Type-safe implementation using
flutter_shared_utilities
for safe type parsing - Multi-file type support for images, videos, audio, documents, archives, and general files
Cache Management
- Comprehensive cache operations: store, retrieve, delete, exists, clear, refresh
- Batch operations: storeMultiple, retrieveMultiple, deleteMultiple for efficiency
- Cache configuration models with factory methods for different file types
- Priority system: Critical, high, normal, and low priority levels for cache entries
Advanced Capabilities
- Real-time progress monitoring with stream-based download progress tracking
- Cache event streaming for comprehensive monitoring of cache operations
- Cache statistics and analytics: hit rates, usage metrics, performance tracking
- Integrity validation: checksum-based corruption detection and automatic repair
- Smart cleanup policies: automatic maintenance with configurable cleanup strategies
Configuration Options
- File type specific configurations optimized for different content types
- Network management features: WiFi-only mode, retry policies, configurable timeouts
- Storage control: size limits, entry limits, compression, and encryption options
- Flexible TTL policies: per-entry or global time-to-live settings
- Custom expiration policies: TTL, LRU, FIFO, and custom expiration strategies
Models and Data Structures
- CacheEntryModel: Comprehensive cache entry representation with metadata
- CacheConfigurationModel: Flexible configuration with type-safe parsing
- Complete enum system: File types, priorities, policies, and event types
- Custom exception hierarchy for specific error scenarios
Interface Design
- BaseCacheManagerInterface: Base abstract interface defining common operations
- FlutterCacheManagerImpl: Concrete implementation with comprehensive features
Dependencies #
flutter_cache_manager: ^3.4.1
- Core caching functionalityflutter_shared_utilities: ^1.0.7
- Safe type parsing utilitiesapp_logger_manager: ^1.0.2
- Logging frameworkpath_provider: ^2.1.5
- File system path accesspath: ^1.9.1
- Path manipulation utilitiesmime: ^2.0.0
- MIME type detectioncrypto: ^3.0.6
- Cryptographic operationshttp: ^1.4.0
- HTTP client for downloads
Documentation #
- Comprehensive README with usage examples and integration guides
- Detailed API documentation with inline code comments
- Example application demonstrating all package features
- Architecture documentation explaining clean architecture implementation
[Unreleased] #
Planned Features #
- Background sync capabilities
- Cache warming strategies
- Advanced compression algorithms
- Multi-device cache synchronization
- Cache analytics dashboard
- Performance profiling tools