Baseflow / Baseflow/flutter_cache_manager
`getFileFromCache` future does not resolve sometimes on android
- Langage dominant
- Dart
- Étoiles
- 809
- Forks
- 510
- Merge moyen
- 6 min
- PR mergées (30 j)
- 1
Description
Hey together,
there is an issue with the flutter_cache_manager which is only happening sometimes on android. At this point we are not sure under wich circumstances, but most of the times when something changes on Android (e.g. Application switching, Updating the App version)
My code looks like this:
```dart
logMessage(
'Loading file from cache...',
extras: {'File': url},
);
var file = await _cacheManager.getFileFromCache(url);
if (file == null) {
logMessage(
'File not in cache. Marked for retrieval.',
extras: {'File': url},
);
futures.add(_repository.retrieveAsset(url)
..then((file) async {
logMessage(
'File successfully retrieved. Caching...',
extras: {'File': url},
);
await _cacheManager.putFile(url, file);
logMessage(
'Successfully cached file.',
extras: {'File': url},
);
}));
} else {
logMessage(
'Found file in cache.',
extras: {'File': url},
);
}
```
The logs are only going until `Loading file from cache...`, after that the class is never returning any logs. So it is likely that the error is in `var file = await _cacheManager.getFileFromCache(url);` as the future never resolves. Moreover the problem is not reproduceable on any device as long as the debugger is attached. At this point I am not sure what to do anymore. Maybe you have any ideas?
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par getFileFromCache(url) et examinez l’achèvement du future sur Android lorsque l’application est basculée ou mise à jour, avec le débogueur détaché. Le rapport ne fournit aucun fichier ni test nommé ; commencez donc par établir un scénario de cycle de vie reproductible et suivez l’endroit où le future cesse de s’achever. Le travail est terminé lorsque la recherche dans le cache se résout ou signale une erreur de manière fiable dans ce scénario.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- dart, flutter
- Domaine
- mobile
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 35/100