2017-11-13 30 views
3

Ich verwendete die Glide Bibliothek mit AppGlideModule, Version der Bibliothek 4.1.1. Hier ist meine Gleitmodulklasse:Verwendung von RequestOptions in AppGlideModule mit Glide 4

@GlideModule 
public class GlideUtil extends AppGlideModule { 

    private final int IMAGE_CACHE_SIZE = 20 * 1024 * 1024; // 20 MB 
    private final String IMAGE_FOLDER = "/User/Images"; 

    @Override 
    public void applyOptions(Context context, GlideBuilder builder) { 
     RequestOptions requestOptions = new RequestOptions(); 
     requestOptions.format(DecodeFormat.PREFER_ARGB_8888); 
     requestOptions.diskCacheStrategy(DiskCacheStrategy.ALL); 
     builder.setDefaultRequestOptions(requestOptions); 
     InternalCacheDiskCacheFactory factory = new InternalCacheDiskCacheFactory(context, IMAGE_FOLDER, IMAGE_CACHE_SIZE); 
     builder.setDiskCache(factory); 

    } 

    @Override 
    public boolean isManifestParsingEnabled() { 
     return false; 
    } 

Dieser Code funktionierte erfolgreich. Aber wenn ich Version von glide Bibliothek aktualisiert 4.3.1

compile 'com.github.bumptech.glide:glide:4.3.1' 
annotationProcessor 'com.github.bumptech.glide:compiler:4.3.1' 

in GlideUtil Klasse sah ich Nachrichten: „Das Ergebnis des Formats wird nicht verwendet“, „Das Ergebnis der diskCacheStrategyis nicht verwendet“:

enter image description here

Also, wie das zu lösen? Und funktionieren die Methoden diskCacheStrategy und format an Glide 4.3.1?

+0

überprüfen Sie bitte meinen am –

Antwort

1

Das Problem ist, dass Sie nicht das Builder-Objekt verwenden, das von zurückgegeben wird, damit Ihre Aktionen sinnlos werden, deshalb warnt Sie Lint. Sie können see diese Methode annotiert mit @CheckResult, das ist wie Lint versteht, dass Sie auf einem falschen Weg sind, weil Sie "nicht das Ergebnis" von dieser Methode zurückgegeben werden.

Stattdessen folgt durchführen:

 

    RequestOptions requestOptions = new RequestOptions(); 
    requestOptions = requestOptions.format(DecodeFormat.PREFER_ARGB_8888); 
    requestOptions = requestOptions.diskCacheStrategy(DiskCacheStrategy.ALL); 
 

Jetzt würde die Warnung verschwunden sein.

Oder Sie können direkt perform folgende:

 

    builder.setDefaultRequestOptions(new RequestOptions() 
             .format(DecodeFormat.PREFER_ARGB_8888) 
             .diskCacheStrategy(DiskCacheStrategy.ALL)); 
 
+0

Danke, Mann, es funktioniert;) –