楼主所描述的是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为了提高性能,会重用已滑出屏幕的列表项视图(ViewHolder中的convertView)。当新数据加载时,如果不正确处理,就可能...
在Android开发中,ListView是一种常见的用于展示大量数据的视图组件。然而,由于其复用机制,ListView在处理大量子项时可能会出现一些问题,如数据错乱、ID重复或图片显示异常。本文将深入探讨这些问题及其解决方案...
在Android开发中,ListView是一种非常常见的控件,用于展示大量数据列表。本篇文章将深入探讨“android listview”相关的知识点,包括横向ListView、微信风格的ListView以及XListView的优化。 首先,我们来看“横向...
在Android开发中,ListView是一种常用的组件,用于展示可滚动的多行数据列表。"android listview 拖拽效果"是指在ListView上实现的一项高级功能,允许用户通过手势拖动ListView中的每个条目(item)来改变它们的位置...
4. **数据适配器的更新**:新数据加载完成后,需要更新ListView的数据源(一般是一个ArrayList或者其他集合),然后调用`notifyDataSetChanged()`方法通知ListView数据已改变。注意,更新数据源时应避免直接在UI线程...
"Android ListView 万能适配器"是解决ListView数据绑定的一种高效、灵活的方法,它能够适应多种类型的数据,使得开发者无需为每种不同的数据类型创建单独的Adapter。在本项目中,我们探讨的是一个名为"baseAdapter-...
3. 考虑到性能,加载新数据前最好清空旧数据,避免因数据重复导致的内存浪费。 4. 对于滑动速度和刷新触发点的阈值设定要合理,避免误触发。 总结,"androidListView下拉刷新Demo"是一个典型的Android开发实践,...
在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。滑动分页技术是当用户滚动到底部时,自动加载更多数据的功能,这在处理大量数据时非常实用,可以提高用户体验并节省流量。本篇文章将详细讲解...
在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。"android listview滑动到底部加载数据"这个主题涉及到一个常见的功能需求:无限滚动或称为“上拉加载更多”。这种设计模式允许用户在滚动到...
加载完成后,将新数据添加到Adapter的数据源中,然后调用`notifyDataSetChanged()`通知ListView数据已更新。这样,ListView会自动加载新的View来显示新数据。 此外,为了提供更好的用户体验,我们还需要处理以下几...
在Android开发中,ListView是一种非常常见的视图组件,它用于展示大量的数据列表,通常用于创建如联系人列表、消息列表等界面。ListView以其高效的滚动性能和可复用的视图缓存机制,使得即便在内存有限的移动设备上...
在Android开发中,ListView是常用的数据展示控件,用于显示大量的列表数据。为了提供更好的用户体验,通常会添加下拉刷新和上拉加载更多的功能。这些功能使得用户可以在滚动到列表顶部时更新数据(下拉刷新),或者...
1. **自定义适配器**:创建一个继承自BaseAdapter的自定义适配器,这是处理ListView数据的核心。你需要重写`getView()`方法,该方法为每个ListView项返回一个View对象。 2. **动画库**:Android提供了许多库来帮助...
在Android开发中,ListView是展示大量数据常用的组件。然而,一次性加载所有数据可能导致应用性能下降,内存消耗过大,用户体验也会受到影响。因此,采用分页加载数据成为了解决这一问题的有效方法。分页加载通常指...
当数据源发生变化时,如添加、删除或更新数据,需要调用BaseAdapter的notifyDataSetChanged()方法,通知ListView数据已更新,ListView会自动重新绘制。 六、实例应用 例如,我们有一个包含用户信息的数据列表,可以...
在Android开发中,ListView是广泛使用的控件,用于展示大量数据列表。本示例源代码主要探讨了如何在ListView中实现分页加载功能,以优化用户体验并提高性能。以下是关于这个话题的详细说明: 1. **ListView基础**:...
在Android开发中,ListView是应用中最常用的控件之一,它用于展示大量的数据列表。然而,随着数据量的增加,ListView可能会出现性能问题,如滚动不流畅、内存消耗过大等。因此,对ListView进行性能优化至关重要。...
在Android开发中,ListView是一种常用的组件,用于展示可滚动的列表数据。当列表中的每一项(item)需要根据其内容展示不同的布局时,就需要用到“不同类型的item展示”技术。这种技术允许开发者在一个ListView中...
注意,批量删除操作后,记得更新Adapter的数据集,并调用`adapter.notifyDataSetChanged()`通知ListView数据已改变,以便重新绘制界面。 在实现过程中,还需要考虑一些优化点,比如使用SparseBooleanArray替代...
从提供的文件信息来看,文件标题为“Android漂亮的Listview完整版本”,描述中提到这是对Android中ListView控件开发全过程的介绍,同时文件中包含了一些标签和部分xml布局文件的代码。接下来我将对这些知识点进行...