Was ist der Unterschied zwischen applicationDidReceiveMemoryWarning
und didReceiveMemoryWarning
? Was ist der beste Weg, um diese Warnungen zu behandeln?Was ist der Unterschied zwischen applicationDidReceiveMemoryWarning, didReceiveMemoryWarning?
Antwort
Sie sollten "Lazy loading" von Daten in all Ihren Ansichten verwenden. Wenn Sie beispielsweise eine Datenliste in einer Tabellenansicht anzeigen, sollten Sie die Daten freigeben, wenn Ihr Ansichts-Controller eine didReceiveMemoryWarning
empfängt und den Datenzeiger auf Null setzt.
Der Großteil des Apple-Beispielcodes betont diese Lazy Loading-Technik.
applicationDidReceiveMemoryWarning
ist eine ähnliche Nachricht an Ihre AppDelegate gesendet. Sie sollten unerwünschte globale Daten freigeben, die Sie in Ihrem AppDelegate speichern.
Ein klassisches Beispiel ist Safari. Öffne 2-3 Tabs in Safari (auf iPhone Simulator). Lassen Sie alle Register den Inhalt der Webseite laden. Versuchen Sie, zwischen verschiedenen Tabs zu wechseln. Sie sollten feststellen, dass der Inhalt dort bleibt und nicht gelöscht wird. Schließen Sie nun im Menü "Speicherwarnung simulieren". Wenn Sie nun zu einer anderen Registerkarte wechseln, ruft Safari den Inhalt erneut ab. Intern ist folgendes passiert: Die URL wird gespeichert, aber der gesamte Webseiteninhalt wurde in der didReceiveMemoryWarning
-Methode veröffentlicht.
Sie sollten ähnliche Mechanismen auch in Ihrer App implementieren.
- 1. Was ist der Unterschied zwischen:
- 2. Was ist der Unterschied zwischen `==` und `ist`?
- 3. Was ist der Unterschied zwischen HybridHttpOrThreadLocalScoped & HttpContextScoped
- 4. Was ist der Unterschied zwischen IMPLODE & JOIN
- 5. Was ist der Unterschied zwischen diesen Regexen
- 6. Was ist der Unterschied zwischen() vs [] vs {}?
- 7. Was ist der Unterschied zwischen window.innerWidth window.outerWidth?
- 8. Was ist der Unterschied zwischen:.! und: r !?
- 9. Was ist der Unterschied zwischen JasperReport-Formaten?
- 10. Was ist der Unterschied zwischen Difftime und '-'?
- 11. Was ist der Unterschied zwischen $ und $$?
- 12. Was ist der Unterschied zwischen Verilog! und ~?
- 13. was ist der Unterschied zwischen [[], []] und [[]] * 2
- 14. Was ist der Unterschied zwischen diesen Abfragen?
- 15. Was ist der Unterschied zwischen __builtin_popcountll und_mm_popcnt_u64?
- 16. Was ist der Unterschied zwischen/* ... */und/** ... */
- 17. Was ist der Unterschied zwischen diesen Funktionen
- 18. Was ist der Unterschied zwischen diesen Initialisierungsmethoden?
- 19. Was ist der Unterschied zwischen `&` und `ref`?
- 20. Was ist der Unterschied zwischen diesen beiden?
- 21. Was ist der Unterschied zwischen is_convertible is_assignable
- 22. Was ist der Unterschied zwischen $ (...) und `...`
- 23. Was ist der Unterschied zwischen .Equals und ==
- 24. Was ist der Unterschied zwischen diesen beiden?
- 25. Was ist der Unterschied zwischen "$^N" und "$ +"?
- 26. Was ist der Unterschied zwischen + = und = +?
- 27. Was ist der Unterschied zwischen? und ? = Nil
- 28. Was ist der Unterschied zwischen $ (()) und Ausdruck?
- 29. Was ist der Unterschied zwischen der JSP und der JSTL?
- 30. Was ist der Unterschied zwischen NetFx45WebLink und NetFx45RedistLink ist