Glide资源图加载失败

场景

Glide加载网络或手机相册图均正常,但加载drawablemipmap资源图(PNG或SVG)失败。

求证

上述场景基于3.7.0版,加载代码如下:

/**
 * SD卡图加载
 *
 * @param context
 * @param uri
 * @param pID
 * @param iv
 */
public static void displayByUri(Context context, String uri, int pID, ImageView iv) {
    Glide.with(context)
            .load(uri)
            .placeholder(pID)
            .centerCrop()
            .crossFade()
            .diskCacheStrategy(DiskCacheStrategy.RESULT)
            .into(iv);
}

/**
 * 资源图加载
 *
 * @param context
 * @param rId
 * @param pID
 * @param iv
 */
public static void displayByResource(final Context context, int rId, int pID, final ImageView iv) {
    Glide.with(context)
            .load(rId)
            .placeholder(pID)
            .centerCrop()
            .crossFade()
            .diskCacheStrategy(DiskCacheStrategy.RESULT)
            .into(iv);
}

现添并改对Glide注解和注解解析器依赖:

implementation 'com.github.bumptech.glide:glide:4.5.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.5.0'

上述加载代码改变如下,此时网络、手机相册、drawablemipmap(PNG或SVG)均正常。

private static RequestOptions options = new RequestOptions();

/**
 * SD卡图加载
 *
 * @param context
 * @param uri
 * @param iv
 */
public static void displayByUri(Context context, String uri, ImageView iv) {
    options.placeholder(pID).centerCrop();
    Glide.with(context)
            .load(uri)
            .apply(options)
            .into(iv);
}

/**
 * 资源图加载
 *
 * @param context
 * @param rId
 * @param iv
 */
public static void displayByResource(final Context context, int rId, final ImageView iv) {
    options.placeholder(pID).centerCrop();
    Glide.with(context)
            .load(rId)
            .apply(options)
            .into(iv);
}

注意

暂无ImageViewCircleImageView加载状况(失败或成功)不同。

你可能感兴趣的:(android)