1. Unicate, 04.04.2011 #1
    Unicate

    Unicate Threadstarter Android-Experte

    Hallo alle zusammen!

    Folgendes Problem:

    Ich möchte "einfach" nur all meine Bilder (bzw. deren Thumbnails), die ich auf dem Telefon habe in einer GridView angezeigt haben.

    Problem ist hier das die Bilder nur in die Datenbank eingetragen werden, wenn die Defaultgalerie sich dazu bequemt, Thumbnails zu erstellen. Dies ist ein Problem, welches schon recht lange existiert.

    Gibt es dafür schon eine Lösung?
     
  2. v Ralle v, 04.04.2011 #2
    v Ralle v

    v Ralle v Android-Lexikon

    Vielleicht nur als Anregung: Kannst du die Thumbnails nicht selber erstellen? Das sollte doch gehen oder nicht?
     
  3. Unicate, 04.04.2011 #3
    Unicate

    Unicate Threadstarter Android-Experte

    Ich hatte das schon mal versucht, aber eher wenig Erfolg damit gehabt. Problem hierbei ist, das man zum Thumbnail erstellen, das original Bild in den Speicher kopieren muss. Obwohl ich die Bilder sofort danach released habe, bekam ich regelmäßig eine OutOfMemoryException.

    Aber danke für den Versuch.

    Noch jemand?
     
  4. v Ralle v, 04.04.2011 #4
    v Ralle v

    v Ralle v Android-Lexikon

    Das ist aber eine ganz andere Baustelle... Naja viel Glück noch.
     
  5. garak, 05.04.2011 #5
    garak

    garak Ehrenmitglied

    Das hängt vermutlich damit zusammen, dass du für jedes Bild eine neue Instanz gebildet hast. Verwendest du jedoch nur eine Instanz und überschreibst den Inhalt jedesmal neu, bekommst du keine Speicherprobleme und das ist m.E. auch der einzige gangbare Weg dein Problem zu lösen.
     
  6. Unicate, 11.04.2011 #6
    Unicate

    Unicate Threadstarter Android-Experte

    Instanz von was?
    Die ImageView instanz wird immer wieder verwendet (prüfe halt im adapter auf null == convertView).

    Die Bitmaps selbst kann ich dann nicht wieder verwenden. Ich komm an die ja nicht mehr ran, denn sie liegen in der ImageView.
     
  7. Sabian, 12.04.2011 #7
    Sabian

    Sabian Junior Mitglied

    Ich würde die bitmaps vorher skalieren und ein thumbnail davon erstellen, bevor ich sie auf die imageview binde, dann das unskalierte bitmapobjekt recyclen( recycle()) und die instanz für die skalierung des nächsten bildes wieder verwenden.
     
  8. Unicate, 12.04.2011 #8
    Unicate

    Unicate Threadstarter Android-Experte

    Naja, also das ganze Bild zeig ich da nicht an. Das ist ja schon eine Thumbnail und die original image wird, falls ich diese in den Speicher lade, auch recycled.