Nun ja, diese Posts haben eigendlich immer Bilder. Kann es dann nicht sein, dass das App mehr als 30 MB braucht?
Core Data braucht unglaublich viel Speicher
Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen
-
-
Aber 30 MB für ein paar Bilder die gerade aktuell in einer TableView angezeigt werden finde ich dann doch etwas viel. Wenn Du die Bilder in der TableViewCell anzeigst, dann solltest Du evtl. Thumbnails der Bilder erstellen und verwenden.
Hast Du die Bilder zu einem Post direkt in der Entity des Posts gespeichert? Evtl. solltest Du diese in eine separate Entity auslagern, damit CoreData die Daten besser verwalten kann und somit nur bei Bedarf im Speicher hält. -
MCDan schrieb:
Aber 30 MB für ein paar Bilder die gerade aktuell in einer TableView angezeigt werden finde ich dann doch etwas viel. Wenn Du die Bilder in der TableViewCell anzeigst, dann solltest Du evtl. Thumbnails der Bilder erstellen und verwenden.
Hast Du die Bilder zu einem Post direkt in der Entity des Posts gespeichert? Evtl. solltest Du diese in eine separate Entity auslagern, damit CoreData die Daten besser verwalten kann und somit nur bei Bedarf im Speicher hält.
Die Bilder werden erst gar nicht mit CoreData gespeichert, ansonsten stürzt die App ziemlich zackig App. Das Problem ist, dass die Bilder nicht wirklich klein sind. Die Bilder können bis zu 10MB gross sein. Die meisten sind jedoch ein halbes MB. -
junky94 schrieb:
Die meisten sind jedoch ein halbes MB.
Entweder hältst du zu viele Posts im Speicher oder irgendwas anderes ist immer noch bei die Faul[self setSignature:null];
[[self postCount] increment]; -
0,5MB für das komprimierte Bild? Ein komprimiertes JPG von 500kb kann so ca. 1000 x 1200 Pixel haben. Bei drei Farben à 8 Bit Tiefe sind das 1000 x 1200 x 3 = 3600.000 Byte also ca. 3,5MB. Bei 10 Bildern kann es da schon eng werden.„Meine Komplikation hatte eine Komplikation.“
-
Also ich erstelle mir immer eine eigene Image Klasse, welches nur ein Thumbnail enthält und einen Filename oder eine URL des Originals. Beim ersten erstellen wird dann aus dem großen Bild ein Thumbnail erzeugt und gespeichert, so dass es beim nächsten mal schnell zur Verfügung steht. Damit arbeite ich dann in der ganzen App. Das große Bild wird dann nur auf explizite Anfrage hin geladen und zurück gegeben.
Gruß
Claus2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.
Pre-Kaffee-Posts sind mit Vorsicht zu geniessen -
macmoonshine schrieb:
0,5MB für das komprimierte Bild? Ein komprimiertes JPG von 500kb kann so ca. 1000 x 1200 Pixel haben. Bei drei Farben à 8 Bit Tiefe sind das 1000 x 1200 x 3 = 3600.000 Byte also ca. 3,5MB. Bei 10 Bildern kann es da schon eng werden.
Hier sollte man auf jeden Fall was unternehmen wenn man nicht weiß wie groß das Bild im RAM sein wird. Entsprechend umformen ist sicher nicht verkehrt wie Thalias schon vorschlug.[self setSignature:null];
[[self postCount] increment]; -
Kann mir jemand erklären, wieso ein Bild auf dem RAM mehr Speicher bruacht als auf der Disk?
-
Das gilt so nicht generell. Fast alle Speicherformate für Bilder komprimieren die Bilddaten. Dadurch braucht die Datei selber weniger Speicher als das Bild eigentlich hat.
Wenn das Bild angezeigt werden soll, dann benötigt man die Pixeldaten. Dafür muss man das Bild entpacken. Dadurch erhält man für jedes Pixel mindestens 3 meistens sogar 4 Bytes für RGB bzw RGBA. Somit hat ein 1024*768 Bild halt 1024*768*4 Bytes im Speicher.
Gruß
Claus2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.
Pre-Kaffee-Posts sind mit Vorsicht zu geniessen -
junky94 schrieb:
Kann mir jemand erklären, wieso ein Bild auf dem RAM mehr Speicher bruacht als auf der Disk?
Dateiformate für Bilder wie JPG, PNG oder GIF komprimieren die Bilddaten mit unterschiedlichen Verfahren. Für die Darstellung des Bildes auf dem Monitor müssen die Daten wieder dekomprimiert werden.„Meine Komplikation hatte eine Komplikation.“ -
Okay, ich habe heute noch einmal die Posts neu geladen und gemerkt, dass mein App heute bei 14 Posts knappe 14MB braucht. Somit nehm ich mal an, dass einige grosse Bilder im Speicher waren.
Bis jetzt skaliert mein App die Bilder nur. (Ich nehme an, dass verkleinert den benötigten Speicher auch. Klärt mich auf, wenn ich falsch liege)
Habt ihr sonst noch Tipps, wie ich grosse Bilder oder Bilder im generellen anpasse, damit sie nicht mehr so viel speicher benötigen? Ich will jedoch keine Thumbnails brauchen, so lange das möglich ist.