나는 설정하고 싶은 배경 화면을 사용자가 선택할 수있는 기능을 갖춘 앱을 만들려고했습니다. 갤러리 인 텐트를 호출하여이를 관리했습니다. 사용자가 특정 이미지를 선택하면 이미지의 데이터 경로가 반환되어 이미지 뷰로 이미지를 설정하여 사용자에게 미리 보냅니다.코드를 통해 배경 화면 설정
이미지 크기 (및/또는 해상도)가 안드로이드가 기대하는 것보다 큰 경우 문제가 발생합니다. 그 결과 내 모듈이 실패합니다.
그리고 이것이 충분하지 않은 경우 사용자가 다른 배경 화면을 선택하려고합니다 (내 테스트 케이스에서 "다른"배경 화면도 크기가 700kb 이상이었습니다). 그런 다음 앱이 "OutOfMemoryException"과 충돌합니다. .
Helppp me guys !!! 갤러리 의도에 대한
내가 사용
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture"),SELECT_IMAGE);
배경 화면을 설정하려면 내가 사용
InputStream is = getContentResolver().openInputStream(Uri.parse(uri_returned_from_intent));
Bitmap bgImage = BitmapFactory.decodeStream(is);//OutOfMemory error thrown here
setWallpaper(bgImage);
그래서 내가 다루는이 문제가 :
- 하는자를하는 방법을 이미지를 바탕 화면으로 설정하기 전에 이미지 ...
- 이해하기 OutOfMemor yException 나의 이미지 크기의 것도, 심지어 1메가바이트을 초과하지 사촌, 던져 ... 그리고 내가 N1의 경우에는 VM 예산을 추측된다
와 남자 몇 가지 기사를 메모리 누수를 언급 ...하지만 그것이 위의 경우 메모리 누수가 VM 예산을 먹을 수 있습니까 ?? – JaVadid
btw "벽지로 설정하기 전에 이미지를 자르는 방법"에 대한 해결책을 찾았습니까? 자르기 사용자 인터페이스를 사용하고 코드를 자르지 않는 솔루션을 찾고 있습니다. – dparnas