`
hxdawxyhxdawxy
  • 浏览: 125935 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

android listview 数据重复

 
阅读更多
楼主所描述的是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数据重复解决办法

    解决listview数据重复,和id错乱的解决办法,帮助了很多人了已经,相当简单。

    Android ListView,GridView的Adapter封装

    在 Android中 如果使用到了 ListView 或GridView 一定要 给其 添加 适配器Adapter 但 每次 写对应的 适配器时,其中很多方法都是 重复的 , 所以我这个demo 将其封装了起来,使用的时候,只需继承 我封装的类,然后...

    android中ListView多次刷新重复执行getView的解决方法

    以前倒是没有注意listview的getView会重复执行多次,在测试的时候去断点跟踪,发现同一条数据不断的重复执行,下面与大家分享下正确的解决方法,希望对你有所帮助

    Android ListView实现上拉加载更多和下拉刷新功能

    本文实例为大家介绍了Android ListView下拉刷新功能的实现方法和功能,供大家参考,具体内容如下 1、ListView优化方式 界面缓存:ViewHolder+convertView 分页加载:上拉刷新 图片缓存 快速滑动ListView禁止刷新 2...

    ListView.zip

    这是一个Xamarin Android ListView实例,在项目中很多地方需要用到ListView,因此对其封装是很有必要,可以减轻很多重复的工作量。该实例只需要传数据源和布局ID就可以实现,非常简单,和大家分享一下。

    Android ListView 子控件onClick正确获取position的方法

    题,原因就是position的值出现了重复或不准确,解决这个问题的方法是,在adapter每次加载数据的时候,为需要点击 的控件设置一个tag值,这个tag值就设置为当前这个控件对应的position,然后在点击事件中gettag(),...

    Android UI组件实例集合

    是一个工具包用来帮助设计和开发 Android 用户界面,包含三个单独的工具:Android Asset Studio用户界面原型模具,Android 设计预览,时常需要重复确认程序版面设计状况的 Android App 开发者,应该会爱上这个轻量级...

    精通ANDROID 3(中文版)1/2

    15.2.1 设置重复闹钟  15.2.2 取消闹钟  15.2.3 使用多个闹钟  15.2.4 Intent在设置闹钟时的首要职责  15.2.5 闹钟的持久化  15.3 闹钟管理器事实  15.4 参考资料  15.5 小结  第16章 2D动画揭秘  ...

    Android代码-安卓开发辅助项目库

    使用了 ViewHolderAdapter 作为 ListView 数据源的基类 新闻详细 使用了 WebViewActivity 作为网页显示 Activity 版本说明 时间:2016-08-26 V_1.0 初次版本 说明: AbstractAdapter -> 数据源基类 说明:...

    Android复杂闹钟

    这个是用数据库进行更新的,当闹钟设置后,闹钟图片变成闹钟的样子,闹钟取消后,图片变成灰色的闹钟,这个是用ListView来实现数据库更新数据的!然后弹对话框来实现时间的设置和周几重复的功能,这个功能能实现,我...

    Android搜索功能的案例,本地保存搜索历史记录。

    - ListView和ScrollView的嵌套冲突解决 - 监听软键盘回车按钮设置为搜索按钮 - 使用TextWatcher( )实时筛选 - 已搜索的关键字再次搜索不重复添加到数据库 - 刚进入页面设置软键盘不因为EditText而自动弹出

    精通Android 3 (中文版)2/2

    15.2.1 设置重复闹钟  15.2.2 取消闹钟  15.2.3 使用多个闹钟  15.2.4 Intent在设置闹钟时的首要职责  15.2.5 闹钟的持久化  15.3 闹钟管理器事实  15.4 参考资料  15.5 小结  第16章 2D动画揭秘  ...

    Android项目源码超低耦合框架全自动注入自动分发框架.rar

    把功能傻瓜化,简单化,去掉重复性的代码,隐藏复杂的实现。以便团队合作或者后期修改变得简单。说框架是夸大了,主要是因为我比较喜欢偷懒,对于一个码农来说,能够偷懒,并且在不影响项目质量的情况下,是不容易的...

    Android适合新手学习的天气预报项目代码.zip

    天气信息界面包含了温度,日出,风力,降水概率,发布时间等信息,此外还有当天某个时间点的天气预测信息,以ListView组件呈现。两个按钮也是提供了重新选择城市以及更新天气信息的功能。 1. ...

    android 网络应用轻量框架-多线程管理-高效缓存-设计模式

    1:队列优先级 (如果想要listview中移动的区域优先被显示,而不是从上到下显示图片,可以把新建的任务提到任务队列前端) 2:实现了:中断任务的功能(比如进入一个Activity会开启大量任务,如果退出这个Activity ...

    封装 RecyclerViewAdapter ,可以不用写 ViewHolder, 支持添加 head 和 foot, 支持 head 和 foot 的点击事件

    RecyclerView 虽然可塑性很高, 而且使用起来确实很方便,但是它不像 ListView 一样可以随意添加头部和尾部, 以前用 listview 的时候随意添加头部和尾部确实方便了不少,但是 RecyclerView 本身是不支持这样写得, 那...

    android开发使用例子

    //不允许重复创建 //指定当前的Activity为快捷方式启动的对象: 如 //com.everest.video.VideoPlayer //注意: ComponentName的第二个参数必须加上点号(.),否则快捷方式无法启动相应程序 ComponentName comp = new ...

    微信小程序(六):列表上拉加载下拉刷新示例

    对于这个功能,微信小程序中并没有提供类似于Android中listview性质的控件,所以我们需要使用 wx:for 控制属性绑定一个数组,用数组中各项的数据重复渲染该组件,来达到列表的效果。 {{index}}: {{item.message}}...

    Android_Widget_RecyclerView:RecyclerView演示

    RecycleView与ListView的对比: 多一层全局缓存,如果列表页与详情页公用同一个Item时 Item被重用时,如果位置不变,不会重复绑定数据 增加与删除的动画 RecyclerView + PagerSnapHelper: 参考:

Global site tag (gtag.js) - Google Analytics