`
hxdawxyhxdawxy
  • 浏览: 127308 次
  • 性别: 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数据重复的原因。这通常是由于ListView的复用机制导致的。ListView为了提高性能,会重用已滑出屏幕的列表项视图(ViewHolder中的convertView)。当新数据加载时,如果不正确处理,就可能...

    listview 复用 数据重复 id错乱 完美解决很简单

    在Android开发中,ListView是一种常见的用于展示大量数据的视图组件。然而,由于其复用机制,ListView在处理大量子项时可能会出现一些问题,如数据错乱、ID重复或图片显示异常。本文将深入探讨这些问题及其解决方案...

    android listview

    在Android开发中,ListView是一种非常常见的控件,用于展示大量数据列表。本篇文章将深入探讨“android listview”相关的知识点,包括横向ListView、微信风格的ListView以及XListView的优化。 首先,我们来看“横向...

    android listview 拖拽效果

    在Android开发中,ListView是一种常用的组件,用于展示可滚动的多行数据列表。"android listview 拖拽效果"是指在ListView上实现的一项高级功能,允许用户通过手势拖动ListView中的每个条目(item)来改变它们的位置...

    Android ListView滚动到底部自动加载数据

    4. **数据适配器的更新**:新数据加载完成后,需要更新ListView的数据源(一般是一个ArrayList或者其他集合),然后调用`notifyDataSetChanged()`方法通知ListView数据已改变。注意,更新数据源时应避免直接在UI线程...

    Android ListView 万能适配器

    "Android ListView 万能适配器"是解决ListView数据绑定的一种高效、灵活的方法,它能够适应多种类型的数据,使得开发者无需为每种不同的数据类型创建单独的Adapter。在本项目中,我们探讨的是一个名为"baseAdapter-...

    androidListView下拉刷新Demo

    3. 考虑到性能,加载新数据前最好清空旧数据,避免因数据重复导致的内存浪费。 4. 对于滑动速度和刷新触发点的阈值设定要合理,避免误触发。 总结,"androidListView下拉刷新Demo"是一个典型的Android开发实践,...

    Android ListView 滑动分页

    在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。滑动分页技术是当用户滚动到底部时,自动加载更多数据的功能,这在处理大量数据时非常实用,可以提高用户体验并节省流量。本篇文章将详细讲解...

    android listview滑动到底部加载数据

    在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。"android listview滑动到底部加载数据"这个主题涉及到一个常见的功能需求:无限滚动或称为“上拉加载更多”。这种设计模式允许用户在滚动到...

    Android ListView页面加载数据显示更多

    加载完成后,将新数据添加到Adapter的数据源中,然后调用`notifyDataSetChanged()`通知ListView数据已更新。这样,ListView会自动加载新的View来显示新数据。 此外,为了提供更好的用户体验,我们还需要处理以下几...

    android listView

    在Android开发中,ListView是一种非常常见的视图组件,它用于展示大量的数据列表,通常用于创建如联系人列表、消息列表等界面。ListView以其高效的滚动性能和可复用的视图缓存机制,使得即便在内存有限的移动设备上...

    android Listview下拉刷新 上拉(滑动分页)加载更多

    在Android开发中,ListView是常用的数据展示控件,用于显示大量的列表数据。为了提供更好的用户体验,通常会添加下拉刷新和上拉加载更多的功能。这些功能使得用户可以在滚动到列表顶部时更新数据(下拉刷新),或者...

    Android Listview最完整最全面的滑动动画

    1. **自定义适配器**:创建一个继承自BaseAdapter的自定义适配器,这是处理ListView数据的核心。你需要重写`getView()`方法,该方法为每个ListView项返回一个View对象。 2. **动画库**:Android提供了许多库来帮助...

    Android里ListView分页加载数据

    在Android开发中,ListView是展示大量数据常用的组件。然而,一次性加载所有数据可能导致应用性能下降,内存消耗过大,用户体验也会受到影响。因此,采用分页加载数据成为了解决这一问题的有效方法。分页加载通常指...

    android listview常用适配器

    当数据源发生变化时,如添加、删除或更新数据,需要调用BaseAdapter的notifyDataSetChanged()方法,通知ListView数据已更新,ListView会自动重新绘制。 六、实例应用 例如,我们有一个包含用户信息的数据列表,可以...

    android listview分页加载的demo【源代码】

    在Android开发中,ListView是广泛使用的控件,用于展示大量数据列表。本示例源代码主要探讨了如何在ListView中实现分页加载功能,以优化用户体验并提高性能。以下是关于这个话题的详细说明: 1. **ListView基础**:...

    Android ListView性能优化

    在Android开发中,ListView是应用中最常用的控件之一,它用于展示大量的数据列表。然而,随着数据量的增加,ListView可能会出现性能问题,如滚动不流畅、内存消耗过大等。因此,对ListView进行性能优化至关重要。...

    Android ListView 不同类型item展示

    在Android开发中,ListView是一种常用的组件,用于展示可滚动的列表数据。当列表中的每一项(item)需要根据其内容展示不同的布局时,就需要用到“不同类型的item展示”技术。这种技术允许开发者在一个ListView中...

    Android ListView批量删除

    注意,批量删除操作后,记得更新Adapter的数据集,并调用`adapter.notifyDataSetChanged()`通知ListView数据已改变,以便重新绘制界面。 在实现过程中,还需要考虑一些优化点,比如使用SparseBooleanArray替代...

    Android漂亮的Listview完整版本

    从提供的文件信息来看,文件标题为“Android漂亮的Listview完整版本”,描述中提到这是对Android中ListView控件开发全过程的介绍,同时文件中包含了一些标签和部分xml布局文件的代码。接下来我将对这些知识点进行...

Global site tag (gtag.js) - Google Analytics