2016-03-23 2 views
1

Ich benutze SVGKit, um das SVG zu rendern, das viele eingebettete Base64-codierte PNG-Bilder enthält. Das Problem ist, dass das Rendern ungefähr eine Minute dauert Erschreckend verlangsamt meine App und verwendet eine große Menge an Speicher. Die Gesamtgröße des SVG ist 10 MB und bei der Wiedergabe ist der verwendete Speicher rund 80-85 MB.Ist es eine Möglichkeit, durch sie zu bekommen?Rendern von SVG mit eingebetteten Base64-codierten PNG-Bildern mit SVGKit benötigt viel Speicher

Ich habe versucht Caching, aber Speicherprobleme kommen immer noch.

Antwort

1

PNG ist ein komprimiertes Dateiformat - es wird garantiert, mehr Speicher zu verwenden, wenn Sie es anzeigen. Dies ist eine grundlegende Grenze von PNG; Wenn Sie die Speichernutzung reduzieren möchten, verwenden Sie keine PNGs mehr und fügen Sie stattdessen nur Vektorgrafiken in Ihr SVG ein.

Zusätzlich speichert Apple normalerweise zusätzliche Informationen für jedes PNG, um die Rendergeschwindigkeit zu optimieren.

(SVGKit kann auch zusätzliche Informationen speichern, aus dem gleichen Grund: um die Rendering-Geschwindigkeit zu erhöhen. Aber zuerst müssen Sie herausfinden, wie groß die PNGs im Speicher sind)

Verwandte Themen