Erinnerung an Drawables, ist es besser, Ressourcen innerhalb APK zu haben, außerhalb APK oder ist es das gleiche für das Gedächtnis?

StackOverflow https://stackoverflow.com/questions/2005916

  •  18-09-2019
  •  | 
  •  

Frage

Ich habe eine Anwendung, die eine Menge von Grafiken zieht und sie ändern. Da ich viele Grafiken haben, dachte ich an die Bilder außerhalb der APK hat, aus dem Internet heruntergeladen, wie gebraucht und gespeichert auf der Dateien-Anwendungsordner.

Aber ich begann outOfMemory Ausnahmen zu erhalten.

Die Frage ist: Hat android Griff Speicher anders, wenn ich eine Grafik aus APK laden, als wenn ich laden Sie es von ‚Scheibe‘

Code APK:

  
    

topView.setBackgroundResource (R.drawable.bg);

  

Code, wenn Bild außerhalb APK:

  
    

Drawable d = Drawable.createFromPath (pathName);     topView.setBackgroundDrawable (d);

  

Danke

Daniel

War es hilfreich?

Lösung

Nein, intern sind sie gleich behandelt. Höchstwahrscheinlich sind undichte Sie die Bilder, oder sie nicht so schnell wie die Reinigung kann man. Versuchen Sie fordern Bitmap.recycle();, wenn Sie mit einem Bild fertig sind, Android zu zwingen, es zu bereinigen.

Andere Tipps

Zur Laufzeit der Speicherbedarf sollten Sie sehen in etwa gleich sein, egal welche Art und Weise Sie es laden. Android wird ein Dienstprogramm verwenden, um Ressourcen intern in der apk Byte auszurichten, die Ladezeiten verbessern sollte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top