2 Stimmen

cacheColorHint verursacht verzögertes Scrollen in listView

Ich habe dieses seltsame Problem mit listView und cacheColorHint

Ich habe den Hintergrund der Aktivität auf einen Farbverlauf eingestellt.

Wenn ich die android:cacheColorHint="#00000000" der Bildlauf verzögert sich, sonst ist er sehr flüssig.

Ich habe auch versucht, es programmatisch einzustellen... dasselbe verzögerte Scrollen (dumm zu denken, dass es funktionieren würde)

Wenn ich es nicht einstelle... habe ich das Flackern, wenn ich scrolle, weshalb ich die cacheHintColor in erster Linie eingestellt.....

Es handelt sich um das gleiche Problem wie in dieser Frage, obwohl es anscheinend nicht gelöst wurde.

ListView mit getView() Over-Ridden langsam durch konstante GC?

Ich habe viele Anwendungen gesehen, die einen reibungslosen Bildlauf haben, obwohl sie alle Arten von Hintergründen haben... also schlagen Sie bitte einen Workaround oder eine Lösung vor...

Weitere Einzelheiten: Die App ist ein Twitter-Client, der Listen in einem ListFragment verwendet. Jedes Listenelement enthält ein Bild von Twitter geladen... Ich bin mit einer OpenSource-Bild-Loader-Klasse, die gut funktioniert (kippe ganz erinnern, die ein)... aber da Scrollen funktioniert gut, wenn cacheHintColor nicht festgelegt... daher kann ich ausschließen, dass das Problem mit dem Bild-Caching ist...

2voto

nmr Punkte 16230

Vielleicht ist es langsam, weil Sie einen transparenten Cache-Farbhinweis setzen, der beim Scrollen ein Alpha-Compositing erzwingt. Wenn Ihr Hintergrund eine Volltonfarbe ist, versuchen Sie, einen Hint mit vollem Alphawert einzustellen, z. B. 0xff000000

Außerdem kann ich mir vorstellen, dass das Einschalten von scrollingCache die überrollten Teile der ListView zwischenspeichern wird, was bedeuten würde, dass weniger gezeichnet werden muss, aber auf Kosten von mehr Speicherverbrauch.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X