2012-11-17 2 views
2

됩니다. 각 액티비티는 GridView에서 이미지를 보여줍니다. 독립 실행 형 응용 프로그램으로서의 각 활동이 올바르게 작동합니다. 문제는 내가 다른 활동에서 호출 할 때 발생합니다. 나는 폭을 설정하면범용 이미지 로더 안드로이드 : 레이아웃 속성을 변경하면 내가 여러 활동이 OutOfMemoryError가

<ImageView 
     android:id="@+id/grid_sub_item_image" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:adjustViewBounds="true" 
     android:contentDescription="@string/descr_image" 
     android:scaleType="centerCrop" > 
    </ImageView> 

이, DP/픽셀의 높이가 well.LIke 작동 : 나를 위해

android:layout_width="100dp" 
      android:layout_height="100dp" 

작품 잘 의 GridView (둘째/셋째 활동)의 항목은 이미지 뷰입니다.

하지만 높이/너비를 설정할 때 : wrap_content/fill_parent를, 그것은 메모리 부족 예외 점점 : 나는 모든 활동에하여 ImageLoader를 인스턴스화 한

null 
java.lang.OutOfMemoryError 
android.graphics.BitmapFactory.nativeDecodeStream(Native Method) 
android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:493) 
com.nostra13.universalimageloader.core.ImageDecoder.decode(ImageDecoder.java:83) 
com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.decodeWithOOMHandling(LoadAndDisplayImageTask.java:187) 
com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.decodeImage(LoadAndDisplayImageTask.java:170) 
com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.tryLoadBitmap(LoadAndDisplayImageTask.java:126) 
com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.run(LoadAndDisplayImageTask.java:72) 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442) 
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 
java.util.concurrent.FutureTask.run(FutureTask.java:137) 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 
java.lang.Thread.run(Thread.java:856) 

. 그러나 도움이되지 않습니다.

+0

당신이 추가 정보를 읽나요? – NOSTRA

+0

이미지의 크기는 얼마입니까? –

+0

이미지 크기 : I는 장치의 해상도를 산출함으로써, 높이 및 런타임에서 이미지 뷰의 폭을 설정 한 1024 * 768 – ratulalahy

답변

2

Useful Info section는 UIL은 원본 이미지를 다운 스케일링 어떤 매개 변수 것은 그것을 사용하는 방법을 설명합니다.

그래서 난 당신이 메모리를 절약하기 위해 귀하의 이미지 뷰에 대한 android:maxWidthandroid:maxHeight 매개 변수를 설정하는 것이 좋습니다. https://github.com/nostra13/Android-Universal-Image-Loader#useful-info -

+1

. 그것은 작동합니다 :) – ratulalahy