-
-
Notifications
You must be signed in to change notification settings - Fork 482
Open
Description
🏗 Enhancement Proposal
When setting maxNrOfCacheObjects to 100 the cache can still grow above that size. This is caused by logic in the CacheObjectProvider in the getObjectsOverCapacity function.
where: '${CacheObject.columnTouched} < ?',
whereArgs: [
DateTime.now().subtract(const Duration(days: 1)).millisecondsSinceEpoch
],
From an this issue #349 I understand the reasoning behind this default value.
Pitch
For app which are not used very intense I think the default makes sense. However for apps which use a lot of images and are used intensively throughout the day this results in a very big local cache. I've got reports of several GB.
I would argue that the there should be a parameter to override this in the Config object. This would be in line with for example the maxObjects and stalePeriod parameters.
Concretely:
- Add parameter to Config ObjectMinimumRetention (open for better naming)
- Type Duration
- Optional, default value 1 day
- Pass and use this parameter to the CacheObjectProvider
- Document
I'm happy to do a PR on this as you think this makes sense.
Platforms affected (mark all that apply)
- 📱 iOS
- 🤖 Android
tom-vanlieshout and jeroenbell
Metadata
Metadata
Assignees
Labels
No labels