0
갤러리에서 700kb 이미지를 선택하고 IllegalArgumentException을 수신합니다. 나는 약간의 메모리를 절약하기 위해 이것을 recycle()
의 ussage와 링크한다. 그것은 내가 OutOfMemoryError를 얻기 시작하면서 실제 문제를 망가 뜨린다. 그래서 나는 재활용을 사용해야한다고 생각한다. 제가 잘못된 방법으로 전화를 했습니까? 아니면 그것을 사용하는 법칙이 있습니까?갤러리에서 이미지를 선택하는 중 오류가 발생했습니다.
오류 :
07-02 10:25:27.466: E/AndroidRuntime(2422): FATAL EXCEPTION: main
07-02 10:25:27.466: E/AndroidRuntime(2422): java.lang.IllegalArgumentException: Cannot draw recycled bitmaps
07-02 10:25:27.466: E/AndroidRuntime(2422): at android.view.GLES20Canvas.drawBitmap(GLES20Canvas.java:778)
07-02 10:25:27.466: E/AndroidRuntime(2422): at android.view.GLES20RecordingCanvas.drawBitmap(GLES20RecordingCanvas.java:117)
전화 :
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(
intent, "Select Picture"), 31);
onResult :
if (requestCode == 31 && resultCode == RESULT_OK && null != data) {
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();
Bitmap bitmap = BitmapFactory.decodeFile(picturePath);
pho1.setImageBitmap(bitmap);
// ImageView imageView = (ImageView) findViewById(R.id.imgView);
// imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));
//
// Bitmap bitmap = (Bitmap) data.getExtras().get("data");
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 90, stream);
byte[] byte_arr = stream.toByteArray();
photo1 = Base64.encodeToString(byte_arr, Base64.DEFAULT);
bitmap.recycle();
bitmap = null;
byte_arr=null;
try {
stream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
http://stackoverflow.com/a/2508138/1168654 –
죄송하지만 무슨 차이가 있습니까? – Yarh
당신은 이미지를 String으로 변환하려고합니다 ...이 ans를 살펴보십시오. http://stackoverflow.com/a/12239626/1168654 –