Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Make treshold the 1 day treshold for maxObjects configurable

Aperta
#500 1 commento 3 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
45/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
dart, flutter
Ambito
mobile-dev

Direzione di ricerca

Inizia da CacheObjectProvider.getObjectsOverCapacity e traccia il modo in cui l'oggetto Config passa attualmente maxObjects e stalePeriod al provider. Aggiungi l'impostazione opzionale Duration con un valore predefinito di un giorno, falla passare attraverso il provider, documentala insieme alle opzioni di configurazione correlate e verifica che la cache rispetti la soglia di conservazione configurata.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

🏗 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
Lingua principale
Dart
Stelle
810
Fork
510
Merge medio
28m
PR unite (30g)
12

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Baseflow/flutter_cache_manager

Tutte le issue di Baseflow/flutter_cache_manager

Issue simili

Altre issue su Dart

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.