그리드뷰를 뿌리고 싶은데 리스트에껀 다뿌려주는데 읽어오는데 버벅거립니다. 어떡해 수정을 해야댈지 가르켜주시면 감사하겟습니다.
배운지 한달도 안되서 잘모릅니다....
public class Gallery extends Activity {
List<Integer> iList = new ArrayList<Integer>();
Intent intent;
private ImageAdapter ia;
private GridView gri;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gallery);
gri = (GridView)findViewById(R.id.gri);
ia = new ImageAdapter(this);
gri.setAdapter(ia);
gri.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(Gallery.this, Gallery_1.class);
intent.putExtra("picture ID", iList.get(position));
startActivity(intent);
}
});
}
public class ImageAdapter extends BaseAdapter{
private List listImages;
Context context;
public ImageAdapter (Context context){
this.context = context;
for(int i=1; i<=24; i++)
{
iList.add(getResources().getIdentifier("g_"+i, "drawable", getPackageName()));
}
}
public int getCount() {
return iList.size();
}
public Object getItem(int position) {
return (null != iList) ? iList.get(position) : 0;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if(convertView == null) {
imageView = new ImageView(context);
imageView.setAdjustViewBounds(true);
}
else
{
imageView = (ImageView) convertView;
}
Bitmap bmp = BitmapFactory.decodeResource(context.getResources(), iList.get(position));
bmp = Bitmap.createScaledBitmap(bmp, 320, 400, false);
imageView.setImageBitmap(bmp);
return imageView;
}
}
}




리스트를 보여줄때 마다 bitmap을 생성해서 그런 것 같은데요.
생성해놓은 것 cache같이 저장해 놓는 건 어떨까요?