2011년 4월 25일 월요일

android] 이미지 출력 메모리 부족

... 메모리 부족 때문에 지금껏 안되다가 이제 된다.

고친 부분은 여기.
 public View getView(int position, View convertView, ViewGroup parent) {
  ImageView imageView;
  if (convertView == null) {
   imageView = new ImageView(this.imageViewer.mContext);
   imageView.setLayoutParams(new GridView.LayoutParams(185, 185));                 
   imageView.setAdjustViewBounds(true);
   imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
   imageView.setPadding(2, 2, 2, 2); // Padding setting
  } else {
   imageView = (ImageView) convertView;
  }
  BitmapFactory.Options bo = new BitmapFactory.Options();
  bo.inSampleSize = 8;
  Log.i("DEbF", "in " + String.valueOf(System.currentTimeMillis()));
  Bitmap BM = BitmapFactory.decodeFile(thumbsDataList.get(position), bo);
       
  Matrix mat=new Matrix();                  mat.postScale(1,1); 

  BM = Bitmap.createBitmap(BM, 0, 0, BM.getWidth(), BM.getHeight(), mat, true);
  imageView.setImageBitmap(BM);
  return imageView;
 }

다른 건 변함없고.
inSampleSize를 8로 해서 decoding 정보를 1/8로 줄여서 되는 것 같다.
가상 머신서도 힙 없다고 뻗고 실재 폰에서도 뻗더니 이제 안 뻗고 실행은 된다 ㅋㅋ

댓글 없음:

댓글 쓰기

국정원의 댓글 공작을 지탄합니다.

UPBIT is a South Korean company, and people died of suicide cause of coin investment.

 UPBIT is a South Korean company, and people died of suicide cause of coin. The company helps the people who control the market price manipu...