设为首页 加入收藏

TOP

Android GC内存泄露问题(二)
2014-11-23 23:57:11 来源: 作者: 【 】 浏览:14
Tags:Android 内存 泄露 问题
pter", "Position:" + position + "---"
+ String.valueOf(System.currentTimeMillis()));
ViewHolder holder;
if (convertView == null) {
final LayoutInflater inflater = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.list_item_icon_text, null);
holder = new ViewHolder();
holder.icon = (ImageView) convertView.findViewById(R.id.icon);
holder.text = (TextView) convertView.findViewById(R.id.text);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.icon.setImageResource(R.drawable.icon);
holder.text.setText(mData[position]);
return convertView;
}


static class ViewHolder {
ImageView icon;
TextView text;
}
}


MainActivity.java


public class MainActivity extends ListActivity {
private BadAdapter/GoodAdapter mAdapter;


private String[] mArrData;


/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mArrData = new String[1000];
for (int i = 0; i < 1000; i++) {
mArrData[i] = "Google IO Adapter";
}
mAdapter = new BadAdapter/GoodAdapter(this, mArrData);
setListAdapter(mAdapter);
}
}


3)ThreadLocal使用不当


  如果我们粗暴的把ThreadLocal设置null,而不调用remove()方法或set(null),那么就可能造成ThreadLocal绑定的对象长期也能被回收,因而产出内存泄露。


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android界面刷新 下一篇Java内存管理--栈、堆和常量池

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: