2016-04-25 7 views
0

Ich benutze OkHttp Disk-Cache, um Bilder für Picasso zu speichern, und sie sind werden von der Festplatte geladen, aber es ist immer noch eine Verzögerung in der Zeit von ein paar ms beim Laden einer Seite mit Bildern. Es sollte wirklich sofort sein (verifiziert mit anderen Apps). Ich habe einen Platten-Cache von 10 MB über Set:OKHttp Disk-Cache nicht so schnell wie erwartet

// A cache that will help us keep images on disk so we minimize calls to /get_picture 
    int cacheSize = 10 * 1024 * 1024; // 10 MiB 
    Cache cache = new Cache(context.getCacheDir(), cacheSize); 
    httpClient.cache(cache); 

Kann jemand mir helfen, zu verstehen, warum dies passieren könnte? Ich benutze:

Picasso.with(this).load(sessionManager.getUserProfileURL()).placeholder(R.drawable.default_avatar) 
      .error(R.drawable.default_avatar).into(mImageView); 

, um sie in das Bild zu laden.

Wenn es hilft, habe ich mein eigenes PicassoSingleton gemacht, das nur einige Authentifizierung erzwingt. Vielen Dank!

Antwort

1

Es ist möglich, dass OkHttp bedingte GET-Anforderungen verwendet. In diesem Fall werden sowohl das Netzwerk als auch der Cache verwendet. In der Regel ist dies der Fall, wenn die zwischengespeicherten Antworten nicht über Cache-Control-Header verfügen, die ein langfristiges Caching ermöglichen.

Verwandte Themen