ListView的认识
作者:
dev晴天 | 来源:发表于
2018-08-11 18:31 被阅读0次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的认识
本文链接:https://www.haomeiwen.com/subject/yfndbftx.html
网友评论