两种虽然都能显示图片,但是实质上对于图片是有影响的
setImageUri 没有使用当前设备的密度,而是使用的默认的密度 density = 60 ,所以图片会被无形的压缩
setImageBitmap 在进行使用时因为对 ImageView 的 setImageDrawable 方法进行了封装,所以不会导致原始图片被压缩
(在使用 setImageBitmap 进行加载图片时,如果图片过大,需进行裁剪,否则会内存溢出)
try { Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), imageUri); img.setImageBitmap(bitmap); // img.setImageURI(imageUri); } catch (IOException e) { e.printStackTrace(); }