Bitmap bitmap = BitmapFactory.decodeResource(res, R.drawable.icon);
  bitmap.compress(CompressFormat.PNG, 100, outStream); 
  
  byte[] image = outStream.toByteArray(); 

  ByteArrayInputStream inStream = new ByteArrayInputStream( image  );
  Bitmap bm = BitmapFactory.decodeStream(inStream) ;   


bitmap 을 byte로 변환시킨뒤 다시 bitmap으로 변환시키는 소스 입니다. 
bitmap  -> byte 까지는 정상적으로 작동하는데 byte ->bitmap 으로 변환시키는 것은 memory exceed 로 소스 맨 마지막 줄에서 오류가 납니다. 

BitmapFactory.Options option = new BitmapFactory.Options();
option.inSampleSize = 1024;

위의 옵션을 이용해 보았지만 사이즈를 엄청나게 줄여야만 작동을 하며 결과도 형체를 알수 없는 그림을 출력합니다. 
* 다운로드한 이미지나 컴퓨터를 통해 옮겨 넣은 이미지는 사이즈를 줄이지 않아도 정상적으로 작동하지만 꼭 핸드폰 카메라로 찍은 이미지만 memory exceed 오류가 발생합니다. - 용량은 둘다 비슷한 상황임에도 불고 하고 카메라 사진만 변환과정에서 오류납니다. 

 이것을 어떻게 해결해야 되나요?

 사진을 byte나  string으로 변환시켜 db에 저장시킨뒤 다시 다운받으려고 하는 작업입니다.