After each rotation of GridView memory usage is increasing...
Setting adapter on GridView:
gridview = (GridView) findViewById(R.id.grid);
gridview.setAdapter(new MenuAdapter(getApplicationContext(), width, height, density, gridview));
gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Toast.makeText(getApplicationContext(), Integer.toString(position), Toast.LENGTH_SHORT).show();
}
});
Adapter getView part:
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
gridView = new View(context);
gridView = inflater.inflate(R.layout.menu_item, null);
} else {
gridView = (View) convertView;
}
btn_ = (LinearLayout) gridView.findViewById(R.id.btn);
textView = (TextView) gridView.findViewById(R.id.menuItem_txt);
imageView = (ImageButton) gridView.findViewById(R.id.menuItem_img);
btn_.setBackgroundColor(back_color[position]);
textView.setText(menuValues[position]);
textView.setTextColor(txt_color[position]);
textView.setTypeface(font);
imageView.setScaleType(ImageButton.ScaleType.CENTER_CROP);
imageView.setFocusable(false);
imageView.setClickable(false);
imageView.setAdjustViewBounds(true);
imageView.setColorFilter(img_color[position]);
imageView.setImageResource(img[position]);
return gridView;
}
After removing part between "else{}" and "return" statement there are no memory increasing, so i guess problem is somewhere in removed code...?