设置缓存
public class MyApp extends Application {
@Override
public void onCreate() {
super.onCreate();
//TODO 设置磁盘缓存的配置 , 生成配置文件
ImagePipelineConfig week2 = ImagePipelineConfig.newBuilder(this)
.setMainDiskCacheConfig(DiskCacheConfig.newBuilder(this)
.setBaseDirectoryName("week2")//TODO 设置缓存文件名称
.setBaseDirectoryPath(Environment.getExternalStorageDirectory())//TODO 设置缓存路径
.setMaxCacheSize(10 * 1024 * 1024)//TODO 设置缓存大小
.build())
.build();
Fresco.initialize(this);
}
}
进度条 + 渐进式
public class MainActivity extends AppCompatActivity {
private SimpleDraweeView img;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
img = (SimpleDraweeView) findViewById(R.id.img);
//TODO 进度条
GenericDraweeHierarchyBuilder builder = new GenericDraweeHierarchyBuilder(getResources());
GenericDraweeHierarchy build = builder
.setFadeDuration(3000)
.setProgressBarImage(new ProgressBarDrawable())//TODO 设置进度条图片
.build();
img.setHierarchy(build);
// img.setImageURI("http://gank.io/images/f4f6d68bf30147e1bdd4ddbc6ad7c2a2");
//TODO 渐进式
AbstractDraweeController adc = Fresco.newDraweeControllerBuilder()
.setImageRequest(ImageRequestBuilder.newBuilderWithSource(Uri.parse("http://gank.io/images/f4f6d68bf30147e1bdd4ddbc6ad7c2a2"))
.setProgressiveRenderingEnabled(true)
.build())
.setTapToRetryEnabled(true)
.setOldController(img.getController())
.build();
img.setController(adc);
}
}
本文介绍了如何在Android应用中使用Fresco库设置磁盘缓存,并演示了如何配置渐进式图片加载,包括创建ImagePipelineConfig和使用GenericDraweeHierarchy实现加载过程中的进度条和图片预加载。
774

被折叠的 条评论
为什么被折叠?



