2017-04-22 4 views
1

ViewPager (슬라이드)가 있고 이미지가 3 개 있습니다. 인터넷을 통해 다운로드되는 세 가지 이미지가 있습니다. 내가 서버에서 다른 서버로 사진을 변경하는 경우, 링크는 동일하지만 변경하지 않는 응용 프로그램에서 사진이 캐시에ViewPager Glide

public class ViewPagerAdapter extends PagerAdapter { 

private Context context; 
private LayoutInflater layoutInflater; 
private String [] image = {"http://rgho.st/7hDcbyT2F/image.png", 
     "http://guid-korenovsk.my1.ru/logos.png", 
     "https://4.bp.blogspot.com/-JKogH2VCCoY/V_aZWCFsmtI/AAAAAAAABAA/Lu6D13VXGSMMnYFO8T8-pKDeqbkHhNRAwCLcB/s320/VideoThumbail.PNG"}; 



public ViewPagerAdapter(Context context) { 
    this.context = context; 
} 

@Override 
public int getCount() { 
    return image.length; 
} 

@Override 
public boolean isViewFromObject(View view, Object object) { 
    return view == object; 
} 

@Override 
public Object instantiateItem(ViewGroup container, int position) { 
    layoutInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View view = layoutInflater.inflate(R.layout.bulding_layout, null); 
    ImageView imageView = (ImageView)view.findViewById(R.id.imageViewPager); 

    Glide.with(context) 
      .load(image[position]) 
      .diskCacheStrategy(DiskCacheStrategy.SOURCE) 
      .into(imageView); 







    ViewPager vp = (ViewPager)container; 
    vp.addView(view,0); 
    return view; 
} 

@Override 
public void destroyItem(ViewGroup container, int position, Object object) { 
    ViewPager vp = (ViewPager)container; 
    View view = (View)object; 
    vp.removeView(view); 
} 

}

공개했다 동일 하나 남아 클래스 MyTimerTask 당신은 이미지의 캐싱을 방지하기 위해이 Glide 인스턴스에서 DiskCacheStrategy.NONE을 사용할 수 있습니다 TimerTask를 {

@Override 
    public void run() { 
     getActivity().runOnUiThread(new Runnable() { 
      @Override 
      public void run() { 
       if(viewPagerAds.getCurrentItem() == 0){ 
        viewPagerAds.setCurrentItem(1); 
       }else if(viewPagerAds.getCurrentItem() == 1){ 
        viewPagerAds.setCurrentItem(2); 
       }else viewPagerAds.setCurrentItem(0); 
      } 
     }); 
    } 
} 

답변

0

을 확장합니다. 이 경우 Glide이 매번 이미지를 다시 다운로드합니다. 보다 최적화 된 버전을 사용하려면 서버가 데이터를 무효화 할 때 signature() 메서드를 확인하고 사용자 지정 서명을 사용해야합니다. 캐시 무효화에 관한 Glide 위키에 대한 링크 : https://github.com/bumptech/glide/wiki/Caching-and-Cache-Invalidation