In einem verfolgen, um Speicherlecks zu vermeiden, wie überprüfe ich speziell eine Angular App gegen Müll Observables (diejenigen, die nicht abgemeldet wurden)?Wie überprüfe ich in DevTools nach Observables mit Müll?
Antwort
Ich glaube nicht, dass dies möglich ist - ein solcher Mechanismus würde einen zentralen Speicher aller Observable erfordern - was wiederum ein großes Risiko für Speicherlecks wäre.
Vorschlag # 1
Versuchen Sie in Ihrem Projekt für alle Anwendungen von .subscribe
suchen und dann prüfen, ob jedes Ergebnis einen Mechanismus an einem gewissen Punkt austragen enthält. Jedes Handbuch .subscribe
sollte einen Mechanismus zum Abmelden haben.
Vorschlag # 2
Verwenden Sie die DevTools Gedächtnis-/Heap-Snapshots im Laufe der Zeit zu erstellen, wenn weder der Speicher noch die Objekt-Zählung im Laufe der Zeit geht, während die App verwenden, können Sie recht sein Sicher, dass Speicherlecks kein Problem für Ihre Anwendung sind. Ich werde hier nicht näher auf die Verwendung der DevTools eingehen, denn das wäre "etwas" außerhalb des Geltungsbereichs, aber werfen Sie einen Blick auf diesen Link (für die Chrome DevTools): https://developers.google.com/web/tools/chrome-devtools/memory-problems/ (falls der Link nicht mehr verfügbar ist zu jeder Zeit, nur google "wie man Chrom-Entwickler-Tools Heap-Snapshot"
- 1. Wie man Observables mit anderen Observables filtert
- 2. Wie überprüfe ich nach einer Netzwerkverbindung?
- 3. Wie überprüfe ich nach einem leeren Array?
- 4. Wie überprüfe ich nach einer leeren Scheibe?
- 5. Wie überprüfe ich nach emulierten vorbereiteten Anweisungen in ADOdb?
- 6. Wie Müll in Logfiles loswerden?
- 7. Wie überprüfe ich nach leerem attr() in jquery?
- 8. Wie überprüfe ich nach einem Wörterbuchtyp in Elixir
- 9. Wie überprüfe ich in diesem Array nach doppelten Antworten? C#
- 10. Wie überprüfe ich $ scope. $ On in AngularJS
- 11. Wie überprüfe ich eine Liste in Haskell?
- 12. Wann ich berechnen/Observables in Mobx
- 13. Wie füllt man Byte-Array mit Müll?
- 14. Chaining RxJS Observables mit Intervall
- 15. Wie überprüfe ich ein Kontrollkästchen in Haml mit check_box_tag
- 16. Wie überprüfe und interagiere ich mit Trails in KRL?
- 17. Rx Android Wie überprüfe ich 204 Code in Retrofit 2
- 18. C# - Wie überprüfe ich nach fehlenden scope.Complete() Anweisungen?
- 19. Wie überprüfe ich den Internetzugriff mit Bash-Skript in Linux?
- 20. Angular 2 Wie bekomme ich mouseX auf setInterval mit Observables?
- 21. Wie kann ich all diesen Müll in js.map-Dateien verstehen?
- 22. Wie überprüfe ich die Internetverbindung in Java?
- 23. Wie überprüfe ich Pelican-Variablen
- 24. Wie überprüfe ich HEAD^in Git
- 25. Wie überprüfe ich den Wert?
- 26. Wie kann ich auf 2 Observables mit unterschiedlichen Rückgabetypen warten?
- 27. Disposable Observables in onDettachView
- 28. Wie installiere ich mit Devtools und einem alternativen gcc?
- 29. Wie überprüfe ich in Twig auf Null?
- 30. Wie überprüfe ich lange Sitzungstimeouts in ASP.NET
verwenden Sie möchten diesen Link zusammen mit Ihrem Vorschlag # 1: http://medium.com/@benlesh/rxjs-dont-abbestellen -6753ed4fda87 – cartant
Richtig, das ist eine nette Zusammenfassung der verschiedenen Muster, um Abonnements zu verwalten, aber alle wurden auch bereits in Fragen hier auf SO beantwortet - eine schnelle Suche sollte auch helfen. – olsn