WeakReference et Finalizer en Dart (2.17) 🧑💻 Tuto Dart / Flutter
Dev Café
Depuis Dart 2.17, deux nouvelles classes sont apparues : WeakReference et Finalizer. Très peu connues, elles sont pourtant très utiles dans la gestion de la mémoire.
🔵 WeakReference permet d'indiquer qu'un objet n'est pas important et doit être privilégié, en cas de besoin mémoire, pour être supprimé. C'est-à-dire que si le Garbage Collector (GC) requiert de l'espace, il retirera cette variable. L'exemple donné dans la vidéo est celui d'un cache.
🔵 Finalizer est utile dans les classes où l'appel à un dispose / close est nécessaire. Imaginons que vous fournissiez un package et que le client oublie de bien fermer le contenu, le Finalizer permet d'appeler du code juste avant qu'il ne soit collecté par le Garbage Collector. L'exemple donné dans la vidéo est celui d'une base de données qui ne serait pas fermée. On pourrait aussi l'utiliser avec un Socker pour forcer sa fermeture.
🗓 Au programme de ce tutoriel :
00:00 Introduction 00:31 Que sont les WeakReferences ? 00:35 Un cache sans WeakReference 03:56 Un cache avec WeakReference 06:41 Que sont les Finalizer ? 07:40 Finalizer : en exemple avec une base de données 12:14 Finalizer : le detach 13:52 Conclusion
💚 Cette vidéo vous a plu ? N’hésitez pas à liker la vidéo et la partager autour de vous !
💙 Si vous n’êtes pas encore abonnés, n’hésitez pas à le faire activer la cloche 🛎 avec toutes les notifications activées !
👉 Les liens utiles :
🆕 Changelog de Dart 2.17 https://github.com/dart-lang/sdk/blob/main/CHANGELOG.md#2170---2022-05-11
👻 Classe WeakReference https://api.flutter.dev/flutter/dart-core/WeakReference-class.html
🔚 Classe Finalizer https://api.flutter.dev/flutter/dart-core/Finalizer-class.html
➕ Classe Expando https://api.flutter.dev/flutter/dart-core/Finalizer-class.html
Retrouvez d’autres tutoriaux Fluter sur la playlist dédiée : https://www.youtube.com/playlist?list=PL1psL-F0LvSOmW0m5WUjE5WtW_JkUYYvd
Retrouvez-moi aussi avec mes deux newsletters :
- Flutter Digest 💙 : https://flutter-digest.com/
- Android Croissants 🥐 : https://android-croissants.com/ ... https://www.youtube.com/watch?v=fD8083_Nigw
97913210 Bytes