1 安卓中一切控件一切皆View
java中任何对象皆是object对象
ListView 含有滑动条属性
内存溢出 : 当多个对象快速创建很多时 来不及回收导致内存溢出 会崩掉
2 初步优化:convertView 对象的复用
解析 手机屏幕上可见的条目都为listview的对象 当你下滑的时候从上面消失的Item就会存储在convertView 对象中 后面都是复用前面的对象 最初屏幕显示的对象
为空创建对象 不为null就复用对象
if (convertView==null){
// 判断是否为空为空创建对象 不为空复用历史缓存对象
textView = new TextView(MainActivity.this);
}else{
textView= (TextView) convertView;
}
textView.setText("ListView"+position);
return textView;
3 listView显示数据原理
mvc原理
mode 数据
v View视图 jsp(javaweb中)
c controller severlet(负责吧数据展示在jsp中)
安卓中
mode 数据
v View视图
c adapter
4 listView 中的奇怪现象:
例如当你要显示6个条目在adapter的getView()方法中打印测试。 把listView的高调为match_parent的时候你打印出六条语句 而你把高调为wrap_content的时候大约打印20条语句。
解释: 当你使用match_parent的时候编译器知道总高度 知道每个listview的高度 可以计算出条目数,当你写成包裹内容 总高度编译器不知道 进行多次校验知道完全显示到屏幕铺满屏幕 显示还是6 但是打印将近20。
优化点:尽量使用match_parent
ListView的认识
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...