2016-10-06 4 views
0

에서 캐치를 제거하는 방법은 imageserver 변경하는 경우 다음 여전히 simple drawee 오래된 이미지를 표시하기 때문에 Fresco 라이브러리를 사용 simple drawee에서 캐치를 제거 할. 아래는 내 코드입니다.는 프레스코 간단한 지급인

public class FrescoSimpleDraweeActivity extends Activity { 

    private SimpleDraweeView simpleDraweeView1; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     Fresco.initialize(this); 
     setContentView(R.layout.activity_fresco_simple_drawee); 


     Log.e("Fresco simple activity ","is calling..."); 

     simpleDraweeView1 = (SimpleDraweeView) findViewById(R.id.simpleDraweeView1); 

     Uri imageUri = Uri.parse("http://i.imgur.com/76Jfv9b.jpg"); 
//  simpleDraweeView1.setImageURI(imageUri); 


     //If we used to load image from network then use it otherwiese not. 
     // return immidiate result if thumb store using (.setProgressiveRenderingEnabled(true)) (only local URI) 

     ImageRequest request = ImageRequestBuilder.newBuilderWithSource(imageUri) 
       .setProgressiveRenderingEnabled(true) 
       .setLocalThumbnailPreviewsEnabled(true) 
       .build(); 

     ControllerListener listener = new BaseControllerListener(); 

     DraweeController controller = Fresco.newDraweeControllerBuilder() 
       .setUri(imageUri) 
       .setImageRequest(request) 
       .setTapToRetryEnabled(true) 
       .setOldController(simpleDraweeView1.getController()) 
       .setControllerListener(listener) 
       .setTapToRetryEnabled(true) 
       .build(); 

     simpleDraweeView1.setController(controller); 



    } 
} 

는 다음이 당신을 도울 수 있기를 바랍니다이 코드를 시도 할 수 있습니다 내 XML 코드

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:fresco="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".Activity.Fresco.FrescoSimpleDraweeActivity"> 

    <TextView 
     android:id="@+id/tvTitle" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:text="This is Fresco Drawee Example" /> 
    <!--fresco:failureImage="@drawable/failure"--> 

    <com.facebook.drawee.view.SimpleDraweeView 
     android:id="@+id/simpleDraweeView1" 
     android:layout_width="200dp" 
     android:layout_height="200dp" 
     fresco:failureImage="@drawable/failure" 
     fresco:progressBarImage="@drawable/progress" 
     fresco:progressBarImageScaleType="centerInside" 
     fresco:roundAsCircle="true" 
     fresco:roundBottomLeft="true" 
     fresco:roundBottomRight="true" 
     fresco:roundTopLeft="true" 
     fresco:roundTopRight="true" 
     fresco:roundedCornerRadius="50dp" 
     fresco:roundingBorderColor="@color/red" 
     fresco:roundingBorderWidth="2dp" 
     fresco:retryImage="@drawable/retry" 
     fresco:retryImageScaleType="centerCrop" 
     fresco:actualImageScaleType="centerCrop" 
     android:layout_below="@+id/tvTitle" 
     /> 


    <!--for round image border use below--> 

    <!--fresco:roundedCornerRadius="50dp"--> 
    <!--fresco:roundTopLeft="true"--> 
    <!--fresco:roundTopRight="true"--> 
    <!--fresco:roundBottomLeft="true"--> 
    <!--fresco:roundBottomRight="true"--> 


</RelativeLayout> 

답변

0

@Sakib 에드입니다.

ImagePipeline imagePipeline = Fresco.getImagePipeline(); 
    imagePipeline.clearMemoryCaches(); 
    imagePipeline.clearDiskCaches(); 

// 두 라인

imagePipeline.clearCaches(); 
상기 결합