2014-07-10 1 views
0

Nostra의 유니버설 이미지 로더를 사용하여 이미지를 표시하고 있습니다. UIL은에 _480x800 추가 왜 이해가 안유니버설 이미지 로더에서 이미지 디코딩이 실패했습니다.

enter image description here

한 가지입니다 :

http://hitbullseye.com/ATTACHMENT/test6eac134c-81ae-4a47-ba28-f25dcc48718a.jpg 

을 내가 로그 캣에서 다음과 같은 오류가 점점 오전 : 여기에 표시 할 이미지의 URL입니다 url의 끝. 나는 이미지를 확인했고 크기는 248x72이다.

다음
public class BullsEyeApplicationGlobal extends Application { 

@Override 
public void onCreate() { 
    super.onCreate(); 
    File cacheDir = StorageUtils.getCacheDirectory(getApplicationContext()); 
    ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
      getApplicationContext()) 
      .taskExecutor(null) 
      .taskExecutorForCachedImages(null) 
      .threadPoolSize(3) 
      // default 
      .threadPriority(Thread.NORM_PRIORITY - 1) 
      // default 
      .tasksProcessingOrder(QueueProcessingType.FIFO) 
      // default 
      .denyCacheImageMultipleSizesInMemory() 
      .memoryCache(new LruMemoryCache(2 * 1024 * 1024)) 
      // default 
      .discCache(new UnlimitedDiscCache(cacheDir)) 
      .imageDownloader(
        new BaseImageDownloader(getApplicationContext())) // default 
      .imageDecoder(new BaseImageDecoder(false)) // default 
      .defaultDisplayImageOptions(DisplayImageOptions.createSimple()) // 
      .writeDebugLogs().build(); 
    ImageLoader.getInstance().init(config); 
} 

} 

내가 이미지를로드하고있는 곳입니다 : 내가 설정을 생성하는

내 응용 프로그램 클래스 : 여기 내 코드입니다

ImageLoader imgL = ImageLoader.getInstance(); 
     DisplayImageOptions options = new DisplayImageOptions.Builder() 
       .resetViewBeforeLoading(false) // default 
       .cacheInMemory(true) // default 
       .cacheOnDisc(true) // default 
       .considerExifParams(false) // default 
       .imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2) // default 
       .bitmapConfig(Bitmap.Config.ARGB_8888) // default 
       .build(); 
     ImageView imgg = (ImageView) v1.findViewById(R.id.test_image); 
     imgL.displayImage(js.getString("TestImage"), imgg, options); 
+0

UIL은 이미지 경로에 아무 것도 추가하지 않습니다. 추가 텍스트가 추가되는'js.getString ("TestImage")'를 확인하십시오. – intrepidkarthi

+0

@intrepidkarthi 그 _480x800없이 url, 나는 이미 확인했다. – berserk

+0

로그의 첫 번째 라인은'http : // hitbullseye.com/ATTACHMENT/_480x800'입니다. 그러나 이미지가 오면 이미지 이름이 사이에 추가됩니다. 그것은 귀하의 코드에서 처리되고 있습니다. 프로젝트 디렉토리에서 문자열 검색'_480x800'을 수행하십시오. – intrepidkarthi

답변

1

그것은 라이브러리의 문제가 아니었다. 문제는 이미지가 CMYK - 8 비트/채널 - jpg 파일이었습니다. RGB - 16 비트/채널 - png 파일이어야 모든 장치에서 작동합니다. 그래서 문제는 이미지에있었습니다. 내 문제가 해결되었습니다. 다른 사람들에게 도움이되기를 바랍니다.

+0

당신은 당신 자신의 대답을 받아 들여야합니다. 그것은 나에게도 도움이되었습니다. 고마워요 :) – yahya

+1

@yahya 그래, 그리고 다행 :) – berserk