Java 壁画-设置下采样对/错?
我正在我的应用程序中使用,它如下所示:Java 壁画-设置下采样对/错?,java,android,android-image,fresco,Java,Android,Android Image,Fresco,我正在我的应用程序中使用,它如下所示: DiskCacheConfig diskCacheConfig = ... ImagePipelineConfig imagePipelineConfig = ImagePipelineConfig.newBuilder(this) .setMainDiskCacheConfig(diskCacheConfig) .build(); Fresco.initialize(this,
DiskCacheConfig diskCacheConfig = ...
ImagePipelineConfig imagePipelineConfig = ImagePipelineConfig.newBuilder(this)
.setMainDiskCacheConfig(diskCacheConfig)
.build();
Fresco.initialize(this, imagePipelineConfig);
它在所有情况下都能正常工作,只有一个例外:“大型图像的巨大列表”可滚动视图。在这种情况下真的很慢
我阅读了有关的文档,然后使用setDownsampleEnabledtrue更改了湿壁画初始化
这对于“大型图像的巨大列表”视图很好。。。但剩下的结果很差,尤其是当我全屏显示图像时。图像有点“模糊”,请看
问题:
是否可以仅对我的应用程序的“部分”使用setDownsampleEnabledtrue?
我希望我的所有应用程序都采用“标准”设置,但我希望设置DownSampleEnabledTrue的“大型图像列表”除外
也许有一种方法可以使用ImagePipelineConfig来配置它
坦率地说,目前的情况几乎可以,所以这不是什么大问题,但我想知道这是否可行,然后测试看看结果
注:
我翻了翻壁画代码,看到了:
package com.facebook.drawee.backends.pipeline;
...
public class Fresco {
...
public static void initialize(Context context, @Nullable ImagePipelineConfig imagePipelineConfig, @Nullable DraweeConfig draweeConfig) {
if(sIsInitialized) {
FLog.w(TAG, "Fresco has already been initialized! `Fresco.initialize(...)` should only be called 1 single time to avoid memory leaks!");
} else {
sIsInitialized = true;
}
...
}
...
'内存泄漏'。。哇
所以我不敢叫弗雷斯科。初始化。。。两次,一次是在我的应用程序中,第二次是在我的活动中显示完整列表
我该怎么办
谢谢
配置:
最新的Fresco 1.5.0不幸的是,Fresco目前不支持更改下采样配置。改变这一点需要一些内部的改变。请随时发送请求以添加此功能:谢谢您的回复!正如我所写,目前的形势对我来说已经足够好了。所以我会保持现状。
package com.facebook.drawee.backends.pipeline;
...
public class Fresco {
...
public static void initialize(Context context, @Nullable ImagePipelineConfig imagePipelineConfig, @Nullable DraweeConfig draweeConfig) {
if(sIsInitialized) {
FLog.w(TAG, "Fresco has already been initialized! `Fresco.initialize(...)` should only be called 1 single time to avoid memory leaks!");
} else {
sIsInitialized = true;
}
...
}
...