Java 类com.facebook.imagepipeline.backends.okhttp3.OkHttpNetworkFetcher 实例源码
项目:PicKing
文件:MyApplication.java
@Override
public void onCreate() {
super.onCreate();
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.build();
ImagePipelineConfig config = OkHttpImagePipelineConfigFactory.newBuilder(this, okHttpClient)
.setMainDiskCacheConfig(getDiskCacheConfig())
.setNetworkFetcher(new OkHttpNetworkFetcher(okHttpClient))
.setDownsampleEnabled(true)
.build();
Fresco.initialize(this, config);
Context context = getApplicationContext();
String packageName = context.getPackageName();
String processName = getProcessName(android.os.Process.myPid());
CrashReport.UserStrategy strategy = new CrashReport.UserStrategy(context);
strategy.setUploadProcess(processName == null || processName.equals(packageName));
CrashReport.initCrashReport(getApplicationContext(), "0a6e92fb70", false, strategy);
registerActivityLifecycleCallbacks(ActivityLifecycleHelper.build());
}
项目:FrescoCustomCacheKey
文件:FrescoConfig.java
public static ImagePipelineConfig.Builder getConfigBuilder(Context context, File baseDirectoryPath, OkHttpClient okHttpClient) {
DiskCacheConfig smallDiskCacheConfig = DiskCacheConfig
.newBuilder(context).setBaseDirectoryPath(baseDirectoryPath)
.setBaseDirectoryName(IMAGE_PIPELINE_SMALL_CACHE_DIR)
.setMaxCacheSize(MAX_DISK_CACHE_SIZE)
.setMaxCacheSizeOnLowDiskSpace(MAX_DISK_CACHE_LOW_SIZE)
.setMaxCacheSizeOnVeryLowDiskSpace(MAX_DISK_CACHE_VERYLOW_SIZE)
.build();
DiskCacheConfig diskCacheConfig = DiskCacheConfig.newBuilder(context)
.setBaseDirectoryPath(baseDirectoryPath)//缓存图片基路径
.setBaseDirectoryName(IMAGE_PIPELINE_CACHE_DIR)//文件夹名
.setMaxCacheSize(MAX_DISK_CACHE_SIZE)//默认缓存的最大大小。
.setMaxCacheSizeOnLowDiskSpace(MAX_DISK_CACHE_LOW_SIZE)//缓存的最大大小,当设备磁盘空间低时。
.setMaxCacheSizeOnVeryLowDiskSpace(MAX_DISK_CACHE_VERYLOW_SIZE)//缓存的最大大小,当设备磁盘空间极低时。
.build();
OkHttpNetworkFetcher networkFetcher = new OkHttpNetworkFetcher(okHttpClient);
return ImagePipelineConfig.newBuilder(context)
.setNetworkFetcher(networkFetcher)//自定的网络层配置:如OkHttp,Volley
.setCacheKeyFactory(LJCacheKeyFactory
.getInstance())//缓存Key工厂
.setBitmapMemoryCacheParamsSupplier(new LJBitmapMemoryCacheSupplier((ActivityManager) context
.getSystemService(Context.ACTIVITY_SERVICE)))
//内存缓存配置(一级缓存,已解码的图片)
.setMainDiskCacheConfig(diskCacheConfig)//磁盘缓存配置(总,三级缓存)
.setSmallImageDiskCacheConfig(smallDiskCacheConfig);//磁盘缓存配置(小图片,可选~三级缓存的小图优化缓存)
}
项目:SneezeReader
文件:ReaderApplication.java
/**
* 初始化fresco
*/
private void initFresco() {
Set<RequestListener> requestListeners = new HashSet<>();
requestListeners.add(new RequestLoggingListener());
ImagePipelineConfig config = ImagePipelineConfig.newBuilder(this)
.setBitmapsConfig(Bitmap.Config.ARGB_8888)
.setDownsampleEnabled(true)
.setNetworkFetcher(new OkHttpNetworkFetcher(new OkHttpClient()))
.setRequestListeners(requestListeners)
.build();
Fresco.initialize(this, config);
}