楼主所描述的是LogCat里显示的信息,对应的实际使用感受是,列表上下拖动的延迟很严重。
楼主所转的帖我看了,但经过我的实践操作的结果来看,采用固定View的layout_heigth属性的方法不能解决这个问题。
也许和版本有关,我使用的HTC G3 2.1版本作为修改平台,解决的策略是,减少getView() 方法的操作量,实际上是减少 inflate 的操作次数。
我采用的是对象池,先建立一个类变量 View[] views 用来保存列表中所有item的View.
假设变量objects 为ArrayAdapter中的 ArrayList 参数, 则在ArrayAdapter的构造方法中实例化views :
views = new View[objects.size()] ;
那么在getView() 方法中这样设置:
public View getView(int position, View convertView, ViewGroup parent) {
if ( view [ position ] != null ) {
return view[ position ] ;
}
// 其它初始化操作
return view[ position ] ;
}
这样当第1次阅读列表的时候可能会有点延迟,之后列表的滑动就很流畅了。原因就是像4楼说的那样,每次getView 都要做很多操作,对象的建立和销毁很占用资源。
希望大家以后多多采用对象池的方法。
分享到:
相关推荐
解决listview数据重复,和id错乱的解决办法,帮助了很多人了已经,相当简单。
在 Android中 如果使用到了 ListView 或GridView 一定要 给其 添加 适配器Adapter 但 每次 写对应的 适配器时,其中很多方法都是 重复的 , 所以我这个demo 将其封装了起来,使用的时候,只需继承 我封装的类,然后...
以前倒是没有注意listview的getView会重复执行多次,在测试的时候去断点跟踪,发现同一条数据不断的重复执行,下面与大家分享下正确的解决方法,希望对你有所帮助
本文实例为大家介绍了Android ListView下拉刷新功能的实现方法和功能,供大家参考,具体内容如下 1、ListView优化方式 界面缓存:ViewHolder+convertView 分页加载:上拉刷新 图片缓存 快速滑动ListView禁止刷新 2...
这是一个Xamarin Android ListView实例,在项目中很多地方需要用到ListView,因此对其封装是很有必要,可以减轻很多重复的工作量。该实例只需要传数据源和布局ID就可以实现,非常简单,和大家分享一下。
题,原因就是position的值出现了重复或不准确,解决这个问题的方法是,在adapter每次加载数据的时候,为需要点击 的控件设置一个tag值,这个tag值就设置为当前这个控件对应的position,然后在点击事件中gettag(),...
是一个工具包用来帮助设计和开发 Android 用户界面,包含三个单独的工具:Android Asset Studio用户界面原型模具,Android 设计预览,时常需要重复确认程序版面设计状况的 Android App 开发者,应该会爱上这个轻量级...
15.2.1 设置重复闹钟 15.2.2 取消闹钟 15.2.3 使用多个闹钟 15.2.4 Intent在设置闹钟时的首要职责 15.2.5 闹钟的持久化 15.3 闹钟管理器事实 15.4 参考资料 15.5 小结 第16章 2D动画揭秘 ...
使用了 ViewHolderAdapter 作为 ListView 数据源的基类 新闻详细 使用了 WebViewActivity 作为网页显示 Activity 版本说明 时间:2016-08-26 V_1.0 初次版本 说明: AbstractAdapter -> 数据源基类 说明:...
这个是用数据库进行更新的,当闹钟设置后,闹钟图片变成闹钟的样子,闹钟取消后,图片变成灰色的闹钟,这个是用ListView来实现数据库更新数据的!然后弹对话框来实现时间的设置和周几重复的功能,这个功能能实现,我...
- ListView和ScrollView的嵌套冲突解决 - 监听软键盘回车按钮设置为搜索按钮 - 使用TextWatcher( )实时筛选 - 已搜索的关键字再次搜索不重复添加到数据库 - 刚进入页面设置软键盘不因为EditText而自动弹出
15.2.1 设置重复闹钟 15.2.2 取消闹钟 15.2.3 使用多个闹钟 15.2.4 Intent在设置闹钟时的首要职责 15.2.5 闹钟的持久化 15.3 闹钟管理器事实 15.4 参考资料 15.5 小结 第16章 2D动画揭秘 ...
把功能傻瓜化,简单化,去掉重复性的代码,隐藏复杂的实现。以便团队合作或者后期修改变得简单。说框架是夸大了,主要是因为我比较喜欢偷懒,对于一个码农来说,能够偷懒,并且在不影响项目质量的情况下,是不容易的...
天气信息界面包含了温度,日出,风力,降水概率,发布时间等信息,此外还有当天某个时间点的天气预测信息,以ListView组件呈现。两个按钮也是提供了重新选择城市以及更新天气信息的功能。 1. ...
1:队列优先级 (如果想要listview中移动的区域优先被显示,而不是从上到下显示图片,可以把新建的任务提到任务队列前端) 2:实现了:中断任务的功能(比如进入一个Activity会开启大量任务,如果退出这个Activity ...
RecyclerView 虽然可塑性很高, 而且使用起来确实很方便,但是它不像 ListView 一样可以随意添加头部和尾部, 以前用 listview 的时候随意添加头部和尾部确实方便了不少,但是 RecyclerView 本身是不支持这样写得, 那...
//不允许重复创建 //指定当前的Activity为快捷方式启动的对象: 如 //com.everest.video.VideoPlayer //注意: ComponentName的第二个参数必须加上点号(.),否则快捷方式无法启动相应程序 ComponentName comp = new ...
对于这个功能,微信小程序中并没有提供类似于Android中listview性质的控件,所以我们需要使用 wx:for 控制属性绑定一个数组,用数组中各项的数据重复渲染该组件,来达到列表的效果。 {{index}}: {{item.message}}...
RecycleView与ListView的对比: 多一层全局缓存,如果列表页与详情页公用同一个Item时 Item被重用时,如果位置不变,不会重复绑定数据 增加与删除的动画 RecyclerView + PagerSnapHelper: 参考: