Ứng dụng của tôi là để hiển thị hình ảnh trong sau thời trang như thể hiện trong hình ảnhAndroid Bitmap.createScaledBitmap ném java.lang.OutOfMemoryError chủ yếu vào Jelly Bean 4.1 Mục đích chính
private void setSelectedImage(int selectedImagePosition)
{
BitmapDrawable bd = (BitmapDrawable) drawables.get(selectedImagePosition);
Bitmap b = Bitmap.createScaledBitmap(bd.getBitmap(), (int) (bd.getIntrinsicHeight() * 0.9), (int) (bd.getIntrinsicWidth() * 0.7), false);
selectedImageView.setImageBitmap(b);
selectedImageView.setScaleType(ScaleType.FIT_XY);
}
đang Chi tiết có thể được tìm thấy here
ngoại lệ được ném vào dòng sau
Bitmap b = Bitmap.createScaledBitmap(bd.getBitmap(), (int) (bd.getIntrinsicHeight() * 0.9), (int) (bd.getIntrinsicWidth() * 0.7), false);
Chức năng trên được gọi từ onItemSelected
. ** Các ứng dụng vẫn hoạt động tốt trên 2,2 và 2,3, nhưng ném ngoại lệ ngay lập tức trên 4.1 Trên mã hoạt động tốt, nhưng ném sau ngoại lệ. Tôi không thấy bất kỳ sự cố nào trong phiên bản 2.2 và 2.3, nhưng nó bị treo cứng trong 4.1 Có sự khác biệt lớn nào về quản lý bộ nhớ trong hạt Jelly không? **:
java.lang.OutOfMemoryError
AndroidRuntime(2616): at android.graphics.Bitmap.nativeCreate(Native Method)
AndroidRuntime(2616): at android.graphics.Bitmap.createBitmap(Bitmap.java:640)
AndroidRuntime(2616): at android.graphics.Bitmap.createBitmap(Bitmap.java:586)
AndroidRuntime(2616): at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:466)
AndroidRuntime(2616): at com.rdx.gallery.GalleryDemoActivity.setSelectedImage(GalleryDemoActivity.java:183)
Kích thước và chiều cao bitmap của bạn là bao nhiêu? –
chiều rộng bitmap và chiều cao là 363X387 – RDX
Tôi nghĩ rằng vấn đề được chọnImageView.setScaleType (ScaleType.FIT_XY); –