Ich bin neu, um auf Volley und auf Caching zu arbeiten: P. Obwohl ich bereits eine Reihe von Artikeln & Beiträge zu Image Caching mit Volley durchlaufen habe, bin ich immer noch nicht klar mit der besten/bevorzugten Weg für Bild Caching mit Volley. Wie Festplatten-Caching oder Speicher? Welche Unterstützung bietet Volley bereits und wie (in Bezug auf L1- und L2-Caching-Unterstützung)? Ich verwende NetworkImageView in meinem Fall, um eine Listenansicht mit Bildern zu füllen, die aus dem Netz geholt werden. Vielen Dank im Voraus!Volley: Image Caching
Antwort
Für die Bildzwischenspeicherung erwartet Volley eine Implementierung Speichercache für Bilder. Dieser Cache wird während der Betriebszeit der App für schnellere Ladezeiten mit dem Speicher verwendet.
nicht speziell auf Bilder bezogen, hat Volley seine eigene Disk-Cache, die sie verwendet jeder Antwort zwischenzuspeichern es wird, mit der Standard-Strategie von Caching nach Cache-Header der HTTP-Antwort.
Wenn die Bilder, die Sie in Ihre App laden, Cache-Header haben, werden sie entsprechend auf der Festplatte zwischengespeichert, sonst nicht.
Wenn Sie mit dieser Strategie unzufrieden sind und zwingen wollen, die Platte zu cachen, müssen Sie einen kleinen Code bearbeiten/hinzufügen, der die Cache-Strategie ändert. Es gibt viele Möglichkeiten, dies zu erreichen. Eine davon ist die Bereitstellung einer eigenen Implementierung zum Parsen der HTTP-Header. Werfen Sie einen Blick auf HttpHeaderParser
in der Quelle Volley.
Danke Itai! Wie du gesagt hast, bin ich mir nicht sicher, ob die Bilder, die ich bin oder ein Benutzer (der dies benutzt), Cache-Header haben oder nicht. Also versuche ich nur ** Disk-Caching ** zu machen und dafür habe ich auf https://github.com/JakeWharton/DiskLruCache hingewiesen, aber ich nutze nicht, ob das ein guter Weg ist oder irgendein anderer Ansatz besser sein könnte . Ich bin auch nicht klar, ob ich [DiskBasedCache] (http://files.evancharlton.com/volley-docs/) von Volley hier – arorak
verwenden kann Achtung: Sie wollen * nicht * einen Festplatten-Cache verwenden, wo ein Speicher Cache wird im 'ImageLoader'-Konstruktor erwartet. Wenn Sie Caching erzwingen wollen, müssen Sie genau das tun - bearbeiten Sie den Volley-Quellcode, um entweder jeden HTTP-Header zu analysieren, so wie er einen Cache-Header hatte, oder ändern Sie die Überprüfung auf Einträge im Cache. Auch, wenn meine Antwort helfen würde, würde ich es begrüßen, wenn Sie es akzeptieren, danke. –
Ok. Eigentlich war mir nicht bewusst, dass ein Speicher-Cache in ImageLoader erwartet wird. Ich verpasste den Verweis, der besagt, dass der übergebene Cache "Der Cache, der als L1-Cache verwendet werden soll" sein sollte. Und L1 wäre natürlich eine Erinnerung (korrigiere mich wenn ich falsch liege ;-)). – arorak
- 1. Android Volley + JSONObjectRequest Caching
- 2. Probleme mit Volley Caching-Mechanismus
- 3. WPF Image Caching
- 4. Android Volley Caching mit verschiedenen POST-Anfragen
- 5. Chrome & Expires Header - Image Caching
- 6. Image Caching Problem in iPhone
- 7. Image-Caching auf Android 6.0
- 8. Android: Volley Image Loader mit Galerie
- 9. IE Problem beim dynamischen Image-Caching?
- 10. Image-Caching in asp.net-Anwendung ohne IIS
- 11. AFNetworking 3.0 auf Disk-Image-Caching
- 12. Verhindern, dass Volley zwischengespeicherte Parameter für die POST-Anforderungsmethode sendet, wenn Caching in Volley implementiert wird
- 13. wenn das Image an NetworkImageview angehängt ist? Volley android
- 14. Android Volley ECONNRESET
- 15. Android Volley mehrteiliger Parametername
- 16. Volley vs Aquery vs Android Async HTTP
- 17. Optimizing Volley
- 18. Volley Bild hochladen mit PHP
- 19. Android Volley NullPointerException ohne Erklärung
- 20. Android Volley ImageLoader - BitmapLruCache Parameter?
- 21. Volley Multipart Anfrage mit Fortschrittsbalken
- 22. Caching Bilder mit JS
- 23. Android Volley Null Pointer Ausnahme
- 24. CSS Bild Caching
- 25. Volley: Wie man einen Cache einstellt. Eintrag
- 26. Wie Datei (Image) zusammen mit String-Parametern im Körper eines POST gesendet wird api (Volley)
- 27. Herstellung eines Gson Anfrage volley mit
- 28. Caching-Strategie, wann wird Caching sinnlos?
- 29. Caching mit Cookies ohne Caching Cookies
- 30. Warum AlamofireImage-Caching nicht funktioniert?
Ich bin auch darüber verwirrt: http://StackOverflow.com/A/16897129/2885233, wo es gesagt wird, dass 'Volley implizit Disk-basierten Cache in seinem eigenen L2-Cache behandelt. Der Image-Cache ist nur der L1-Cache ' – arorak