a.JPG 
위 그림과 같이 카메라 버튼을 클릭하면

c.JPG   
gllery가 뜨게 되고 사진을 선택하면


b.JPG

사진을 가져오게 됩니다

헌데 사진 크기(용량)가
크면 out of Memory가 나면서
(용량 문제인거 같습니다 Exception이 나는 사진은 1M가 넘네요)

종료가 되네요 검색을 보았는데 잘안되어서 질문 드립니다

어떻게 처리해야 하는지 답변좀 달아주시면 감사하겠습니디


밑에는 간략한 소스입니다

============================
- gallry에서 사진 클릭시 onActivityResult에서 받아와서 뿌려줍니다
============================
protected void onActivityResult(int requestCode, int resultCode,
   Intent intent) {
  super.onActivityResult(requestCode, resultCode, intent);
  try {
   if(!intent.getData().equals(null)){
    selPhotoUri = intent.getData();

//    BitmapFactory.Options options = new BitmapFactory.Options();
//    options.inSampleSize = 4;
//    Bitmap orgImage = BitmapFactory.decodeFile(selPhotoUri+"", options);

    selPhoto = Images.Media.getBitmap( getContentResolver(), selPhotoUri );<=============Exception발생 부분

//    selPhoto.setPixel(100, 100, 2);

    selPhoto = Bitmap.createScaledBitmap(selPhoto, 100, 100, true);

//    System.out.println("selPhotoUri : "+selPhotoUri);
//    System.out.println("selPhoto : "+selPhoto);
//    System.out.println("image_bt : "+image_bt);
   
    image_bt.setImageBitmap(selPhoto);//썸네일
   }else {
    image_bt.setImageResource(R.id.icon);
   }
  
  } catch (FileNotFoundException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }
 }// End of onActivityResult()
d.JPG 


메인 화면에 뜨는 큰 사진은

private Uri selPhotoUri;를 DB에 자장하여

메인에서 불러와

if(!cur.getString(0).equals(null)){
 Uri selPhotoUri = Uri.parse(cur.getString(0));
 selPhoto = Images.Media.getBitmap( getContentResolver(),selPhotoUri);
 selPhoto = Bitmap.createScaledBitmap(selPhoto, 450, 272, true);
 imageBtn.setImageBitmap(selPhoto); 
}
이러식으로 Image button에 bitmap을 입히는 방식입니다