Hinzufügen von Markierungen aus der URL mit Picasso

8

Ich füge Markierungen zu meiner Karte von einer URL mit der Picasso-Bibliothek

hinzu

Da ein Marker kein ImageView ist, habe ich stattdessen versucht, ein Target zu verwenden.

%Vor%

Ich mache das in einer Schleife, um etwa 20 Marker hinzuzufügen, aber ich stelle fest, dass beim ersten Durchlauf des Codes nur 5 oder 7 Marker hinzugefügt werden, also habe ich die lib und eine AsyncTask wie folgt verwendet.

%Vor%

Allerdings mache ich mir Sorgen, dass diese Methode mir Probleme bereiten könnte, wenn ich viele Marker habe, die ungefähr 100 sind. Meine Frage wäre, dass dies der beste Weg ist, dies zu tun, und wenn nicht, welche anderen Optionen kann ich ausprobieren / p>     

Hugo Boss 31.08.2013, 13:09
quelle

2 Antworten

10
  

Sie müssen eine Referenz für jedes Target behalten, sonst das System   gibt sie automatisch beim Aufruf des Garbage Collectors frei.

     

Also, die bessere Lösung ist, jedes Target zu einem HashSet und dann in hinzuzufügen   onBitmapLoaded () und onBitmapFailed-Methoden von Target entfernen Sie die   Ziel selbst aus dem Set.

Danke für den Vorschlag, jetzt funktioniert mein Code einwandfrei. Unterhalb der Codeabschnitte, die Ihren Vorschlag implementieren.

%Vor%     
Francesco Florio 23.10.2014 15:10
quelle
2

Sie müssen eine Referenz für jedes Target behalten, andernfalls gibt das System sie automatisch frei, wenn der Garbage Collector aufgerufen wird.

Also ist die bessere Lösung, jedes Target zu einem HashSet hinzuzufügen und dann in onBitmapLoaded() und onBitmapFailed Methoden von Target das Target selbst aus dem Set zu entfernen.

    
icastell 10.04.2014 11:27
quelle