2017-10-25 18 views
0

나는이 같은 내 응용 프로그램에서 Frescoinitialize을 사용하고 있습니다 :Fresco - setDownsampleEnabled true/false입니까?

DiskCacheConfig diskCacheConfig = ... 

    ImagePipelineConfig imagePipelineConfig = ImagePipelineConfig.newBuilder(this) 
      .setMainDiskCacheConfig(diskCacheConfig) 
      .build(); 

    Fresco.initialize(this, imagePipelineConfig); 

그것은 모든 경우 만 하나 잘 작동 것 : 스크롤보기 '큰 이미지의 거대한 목록'을. (이 경우 실제로 느리다). 나는이 문서를 읽어

resizing 다음 setDownsampleEnabled (참) 를 사용하여 프레스코 초기화를 변경보기이 '큰 이미지의 거대한 목록'에 대한 잘 작동하지만에 대한 가난한 결과를 제공

ImagePipelineConfig imagePipelineConfig = ImagePipelineConfig.newBuilder(this) 
      .setMainDiskCacheConfig(diskCacheConfig) 
      .setDownsampleEnabled(true) // faster for downsampling of big images 
      .build(); 

    Fresco.initialize(this, imagePipelineConfig); 

나머지는, 특히 내가 전체 화면으로 이미지를 표시 할 때. 이미지는 약간 'muzzy'입니다 this post을 참조하십시오.

질문 :

단지 내 애플 리케이션의 '일부'에 대한 (참) setDownsampleEnabled를 사용할 수 있습니까? setDownsampleEnabled (true)을 원하는 '커다란 이미지의 거대한 목록'을 제외하고 모든 응용 프로그램의 '표준'설정을 원합니다.

아마도 ImagePipelineConfig를 사용하여 구성하는 방법이있을 수 있습니다 ...?

솔직히 말하면, 현재 상황은 거의 OK이므로 큰 문제는 아니지만 이것이 가능한지 알고 싶으면 결과를 확인하기 위해 테스트하고 싶습니다.

참고 :

내가 프레스코 코드로 팠이 보았다

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; 
    } 
    ... 
} 
... 

'memory leaks' .. 와우는 ..

그래서 프레스코 전화를 감히하지 않습니다. 내 응용 프로그램과 함께 한 번 (두 번째) 초기화 (두 번째) 전체 목록을 표시하는 활동을 초기화합니다.

어떻게해야합니까?

감사합니다.

구성 : (최신) 프레스코 1.5.0

답변

1

는 불행하게도, 다운 샘플링 구성을 변경하는 것은 현재 프레스코를 지원하지 않습니다. 이를 변경하려면 몇 가지 내부적 인 변경이 필요합니다. 이 기능을 추가하려면 당겨 받기 요청을 보내주십시오. :)

+0

답장을 보내 주셔서 감사합니다! 내가 쓴 것처럼, 현재의 상황은 나를 위해 충분하다. 그래서 나는 지금처럼 사물을 유지할 것이다. – Pascal