Android Glide图片加载框架图片变色变绿解决方法
2016-04-27 20:00
1056 查看
转自:http://blog.csdn.net/yaphetzhao/article/details/50586991
亲测可用!!!
图片变色的原因是因为图片压缩所致,一半是webp会出现这样的情况。
所以在使用Glide的缓存机制的时候,缓存原图片即可。
[java] view
plain copy
print?
Glide.with(a).load(url).diskCacheStrategy(DiskCacheStrategy.SOURCE).into(i);
关键点是
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
就可以解决一部分问题了。
上面的方法是通过缓存解决的,可以解决一部分图片变绿的问题。下面的方法是彻底解决。
Glide使用bitmap的编码问RGB565,所以有时的时候由于过度压缩导致了图片变绿。
所以要改变一下Glide的bitmap编码。
[java] view
plain copy
print?
import android.content.Context;
import com.bumptech.glide.Glide;
import com.bumptech.glide.GlideBuilder;
import com.bumptech.glide.load.DecodeFormat;
import com.bumptech.glide.module.GlideModule;
/**
* Created by zhaoyong on 2016/1/26.
* 增加图片清晰度
*/
public class GlideConfiguration implements GlideModule{
@Override
public void applyOptions(Context context, GlideBuilder builder) {
builder.setDecodeFormat(DecodeFormat.PREFER_ARGB_8888);
}
@Override
public void registerComponents(Context context, Glide glide) {
}
}
然后AndroidManifext中:
[java] view
plain copy
print?
<meta-data
android:name="com.xxx.xxx.xxx.GlideConfiguration"
android:value="GlideModule"/>
这样就可以了,搞定!
亲测可用!!!
图片变色的原因是因为图片压缩所致,一半是webp会出现这样的情况。
所以在使用Glide的缓存机制的时候,缓存原图片即可。
[java] view
plain copy
print?
Glide.with(a).load(url).diskCacheStrategy(DiskCacheStrategy.SOURCE).into(i);
关键点是
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
就可以解决一部分问题了。
上面的方法是通过缓存解决的,可以解决一部分图片变绿的问题。下面的方法是彻底解决。
Glide使用bitmap的编码问RGB565,所以有时的时候由于过度压缩导致了图片变绿。
所以要改变一下Glide的bitmap编码。
[java] view
plain copy
print?
import android.content.Context;
import com.bumptech.glide.Glide;
import com.bumptech.glide.GlideBuilder;
import com.bumptech.glide.load.DecodeFormat;
import com.bumptech.glide.module.GlideModule;
/**
* Created by zhaoyong on 2016/1/26.
* 增加图片清晰度
*/
public class GlideConfiguration implements GlideModule{
@Override
public void applyOptions(Context context, GlideBuilder builder) {
builder.setDecodeFormat(DecodeFormat.PREFER_ARGB_8888);
}
@Override
public void registerComponents(Context context, Glide glide) {
}
}
然后AndroidManifext中:
[java] view
plain copy
print?
<meta-data
android:name="com.xxx.xxx.xxx.GlideConfiguration"
android:value="GlideModule"/>
这样就可以了,搞定!
相关文章推荐
- Android AssetManager 简读<2>
- android---高德地图(3)点击获得目的经纬度,地理编码
- android---高德地图(4)路线规划
- android---高德地图(5)导航界面(语音播报)实现
- android---简单语音合成
- android---自定义折线图
- android---读取SD卡内容并显示
- android---重写textview自适应屏幕分辨率,压缩字体大小
- android---重写EditText自适应屏幕分辨率,压缩字体大小
- android---世界时区列表
- Android 批量上传图片进度回调
- android---对SharePreferences的封装
- android---瀑布流gridview
- android---防止ListView数据错乱的方法
- android---自定义数字选择器
- android---ScrollView中嵌套ListView
- Android ImageButton,Button,CheckBox等抢了原有View的点击事件 点击事件冲突问题
- android---后台代发短信
- android---service的启动,和activity的通信
- android---broadcastReceiver广播机制