在我的应用程序中,我有一个ImageView列表。这些ImageView的大小为1024x512。在xml中,这是每个ImageView的定义方式:
<ImageView
android:id="@+id/imageView3"
android:layout_width="75dp"
android:layout_height="75dp"
android:layout_centerInParent="true"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:src="@drawable/pic" />
这就是我在ArrayAdapter中的getView中设置每个ImageView的位图的方法:
File picToLoad = new File(localPhotosUrl.get(0));
byte[] array= null;
try {
array= org.apache.commons.io.FileUtils.readFileToByteArray(picToLoad);
System.gc();
Bitmap bitmap = BitmapFactory.decodeByteArray(array, 0, array.length);
holder.imgIcon.setImageBitmap(bitmap);
}
现在请注意,我从SD卡加载的图像是1024x512,但ImageView是75x75。这种方式是否正确?意思是设置图像位图整个图片还是内存消耗?我应该在调用setImageBitmap之前将Image的大小调整为75x75,否则它不会进行任何更改?