2016-11-01 11 views
4

Ich frage mich, wie ich das kleine weiße 'blinken' der Ansichten in einer Recyclerview vermeiden kann, wenn der Benutzer ein wenig schneller scrollt.
Das Blinken kann natürlich durch Vorladen weiterer Ansichten außerhalb des sichtbaren Bildschirms vermieden werdenAndroid Recyclerview Preload Ansichten

Ich konnte noch nichts finden, wie dies getan werden kann, obwohl dies eine ziemlich häufige Aufgabe sein muss ??

habe ich versucht, diesen Code aus einem Blog:

public class PreCachingLayoutManager extends LinearLayoutManager { 
    private static final int DEFAULT_EXTRA_LAYOUT_SPACE = 600; 
    private int extraLayoutSpace = -1; 
    private Context context; 

    public PreCachingLayoutManager(Context context) { 
     super(context); 
     this.context = context; 
    } 

    public PreCachingLayoutManager(Context context, int extraLayoutSpace) { 
     super(context); 
     this.context = context; 
     this.extraLayoutSpace = extraLayoutSpace; 
    } 

    public PreCachingLayoutManager(Context context, int orientation, boolean reverseLayout) { 
     super(context, orientation, reverseLayout); 
     this.context = context; 
    } 

    public void setExtraLayoutSpace(int extraLayoutSpace) { 
     this.extraLayoutSpace = extraLayoutSpace; 
    } 

    @Override 
    protected int getExtraLayoutSpace(RecyclerView.State state) { 
     if (extraLayoutSpace > 0) { 
      return extraLayoutSpace; 
     } 
     return DEFAULT_EXTRA_LAYOUT_SPACE; 
    } 
} 

Dann zugewiesen ich die Layoutmanager zu meinen benutzerdefinierten Recyclerview im Konstruktor von setLayoutManager mit()
Es ist „custom“, aber ich wollte nur zu, der Layoutmanager in der costructor, das ist, warum ich die RecyclerView Leider
überschrieben, dies keine Auswirkungen

Antwort

3

die RecyclerView ist eine sehr effiziente API bereits hatte und in der Regel, wenn Sie Frames fallen, können Sie Ihre Artikel Layout optimieren Seien Sie leichter und stellen Sie sicher, dass Sie Ressourcen freigeben, wenn Ansichten recycelt werden. Es gibt wirklich keine Notwendigkeit, irgendetwas vorzuladen.

Hier ist ein Blog-Post, die einige Ideen, wie gibt auch diese Dinge zu tun https://blog.workable.com/recyclerview-achieved-60-fps-workables-android-app-tips/

Sie erwähnen nicht, es in diesem Post, sondern auch, wenn Ihre Artikel Bilder haben, stellen Sie sicher, dass diese Bilder nicht groß.

Der Hauptpunkt ist, die Zeichnung Ihrer Ansichten so schnell wie möglich zu machen, weil alles beim Scrollen ständig neu gezeichnet wird.

+0

Ich sehe Ihren Punkt, ich werde meine Artikel optimieren! –

Verwandte Themen