public class ImageAdapter extends BaseAdapter {
private String imgData;
private String geoData;
private ArrayList<String> thumbsDataList;
private ArrayList<String> thumbsIDList;
private Context mContext;
ImageAdapter(Context c){
mContext = c;
thumbsDataList = new ArrayList<String>();
thumbsIDList = new ArrayList<String>();
getThumbInfo(thumbsIDList, thumbsDataList);
}
public boolean deleteSelected(int sIndex){
return true;
}
public String getData(int position){
String[] projection = {
               MediaStore.Images.Media._ID,
               MediaStore.Images.Media.TITLE, // 노래제목 스트링 2
               MediaStore.Images.Media.DATA, // 폴더경로 스트링 3
       };
       //query  
      Cursor cursor = DialogActivity.this.managedQuery(
               MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
               projection, 
               null,
               null,
               null);
      while (cursor.moveToNext()) {
         temp.add(cursor.getString(2));
  }
return temp.get(position);
}
public String getName(int position){
String[] projection = {
               MediaStore.Images.Media._ID,
               MediaStore.Images.Media.TITLE, // 노래제목 스트링 2
               MediaStore.Images.Media.DATA, // 폴더경로 스트링 3
       };
       //query  
      Cursor cursor = DialogActivity.this.managedQuery(
               MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
               projection, 
               null,
               null,
               null);
      while (cursor.moveToNext()) {
         temp.add(cursor.getString(1));
  }
return temp.get(position);
}
public int getCount() {
return thumbsIDList.size();
}

public Object getItem(int position) {
return position;
}

public long getItemId(int position) {
return position;
}

public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null){
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(95, 95));
imageView.setAdjustViewBounds(false);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(2, 2, 2, 2);
}else{
imageView = (ImageView) convertView;
}
BitmapFactory.Options bo = new BitmapFactory.Options();
bo.inSampleSize = 8;
Bitmap bmp = BitmapFactory.decodeFile(thumbsDataList.get(position), bo);
Bitmap resized = Bitmap.createScaledBitmap(bmp, 95, 95, true);
imageView.setImageBitmap(resized);
return imageView;
}
private void getThumbInfo(ArrayList<String> thumbsIDs, ArrayList<String> thumbsDatas){
String[] proj = {MediaStore.Images.Media._ID,
MediaStore.Images.Media.DATA,
MediaStore.Images.Media.DISPLAY_NAME,
MediaStore.Images.Media.SIZE};
Cursor imageCursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
proj, null, null, null);
if (imageCursor != null && imageCursor.moveToFirst()){
String title;
String thumbsID;
String thumbsImageID;
String thumbsData;
String data;
String imgSize;
int thumbsIDCol = imageCursor.getColumnIndex(MediaStore.Images.Media._ID);
int thumbsDataCol = imageCursor.getColumnIndex(MediaStore.Images.Media.DATA);
int thumbsImageIDCol = imageCursor.getColumnIndex(MediaStore.Images.Media.DISPLAY_NAME);
int thumbsSizeCol = imageCursor.getColumnIndex(MediaStore.Images.Media.SIZE);
int num = 0;
do {
thumbsID = imageCursor.getString(thumbsIDCol);
thumbsData = imageCursor.getString(thumbsDataCol);
thumbsImageID = imageCursor.getString(thumbsImageIDCol);
imgSize = imageCursor.getString(thumbsSizeCol);
num++;
if (thumbsImageID != null){
thumbsIDs.add(thumbsID);
thumbsDatas.add(thumbsData);
}
}while (imageCursor.moveToNext());
}
imageCursor.close();
return;
}
private String getImageInfo(String ImageData, String Location, String thumbID){
String imageDataPath = null;
String[] proj = {MediaStore.Images.Media._ID,
MediaStore.Images.Media.DATA,
MediaStore.Images.Media.DISPLAY_NAME,
MediaStore.Images.Media.SIZE};
Cursor imageCursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
proj, "_ID=|"+ thumbID +"|", null, null);
if (imageCursor != null && imageCursor.moveToFirst()){
if (imageCursor.getCount() > 0){
int imgData = imageCursor.getColumnIndex(MediaStore.Images.Media.DATA);
imageDataPath = imageCursor.getString(imgData);
}
}
imageCursor.close();
return imageDataPath;
}
}



GridView grid = (GridView)findViewById(R.id.grid);
    radioView.setVisibility(View.GONE);
    grid.setVisibility(View.VISIBLE);
    ia = new ImageAdapter(this);
    grid.setAdapter(ia);
    grid.setOnItemClickListener(onItemClickListener1);


이런식으로 이미지를 뿌려주는대
이미지가 조금만 많아도 어플이 죽어버리더라구요 ...
이거해결할방법이 있나요 ??