`
iaiai
  • 浏览: 2180868 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

listView懒加载解决快速拖动卡屏问题

 
阅读更多
快速拖动  上下拖动很卡的原因 listView中有大量的图片,每张图片在生存时候会花200毫秒,

解决:利用listView的懒加载   :当拖动时候不去加载ListView中的条目,当用户停止的时候才
真正去加载这个条目
判断ListView的状态,如果ListView是处于滚动状态,返回一个假的View对象,gieView()执行很快
只有当listView处于静止状态的时候,才去真正去更新里面显示的内容
5.listview的懒加载
   判断listview的状态,如果listview是处于滚动状态.返回一个假的view对象.
   只有当listview处于静止状态的时候 ,才去真正的更新里面所显示的内容.

    1.在activity创建的时候,获取到所有的缩略图...

   2.在adapter的getview的方法里面判断 当前listview是否处于滚动状态.
   滚动状态可以通过 listview的setonscroollistener的方式 处理
  onScrollStateChanged(AbsListView view, int scrollState) {
        switch (scrollState) {
        case OnScrollListener.SCROLL_STATE_IDLE:
            滚动= false;
            break;
        case OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:
            滚动= true;    
            break;
        case OnScrollListener.SCROLL_STATE_FLING:
            滚动= true;
            break;

如果是滚动状态 就只返回,缩略图.
并且把真实图片的id存储起来.并且可以储存当前imageview的引用.

3.当滚动状态变成静止的时候 再去真正的加载每个真实的图片.
在case OnScrollListener.SCROLL_STATE_IDLE:
//获取第一个listview可见的条目的位置
  int first = listview.getFirstVisiblePosition();
// 获取listview里面显示的条目的个数.
  int count = view.getChildCount();
通过for循环 更新所有的图片
for (int i=0; i<count; i++) {
         拿到图片的id,和imageview,更新里面的内容.   

            }

这种方法,可以解决掉拖动卡顿的现象.
分享到:
评论

相关推荐

    Android luncher拖动效果+listview下拉加载

    在Android开发中,"Android launcher拖动效果"和"listview下拉加载"是两个重要的功能模块,它们分别涉及到用户界面交互和数据加载优化。让我们深入探讨这些知识点。 首先,Android launcher是用户启动应用程序的主...

    android listView图片异步加载(拖动时不加载,双缓存)

    本文将详细介绍如何在ListView中实现图片的异步加载,并且在用户拖动时不加载,以提高滚动流畅性。 一、异步加载原理 异步加载是指在后台线程中执行耗时操作,例如网络请求或解码图片,避免阻塞主线程。Android提供...

    Listview拖动停止加载图片

    在你提到的问题中,“Listview拖动停止加载图片”是指在ListView滚动时,图片会在滚动停止后开始加载,并且已经加载过的图片在第二次拖动时应该正确显示。现在遇到了第二次拖动时图片显示不正常的问题。 首先,我们...

    一个非常强大的上下加载ListView

    本文将深入探讨“一个非常强大的上下加载ListView”这一技术,它旨在实现类似新浪微博列表的功能,即上拉加载更多新数据,下拉刷新获取旧数据。 首先,我们需要了解ListView的基本工作原理。ListView通过Adapter...

    ListView上拉加载更多

    这样可以减少一次性加载大量数据带来的性能问题,同时避免了内存溢出的风险。 6. **优化性能**:为了提高ListView的性能,需要注意以下几点:合理复用convertView(ViewHolder模式)、避免在getView()方法中进行...

    c# winform listView鼠标拖拽到pictureBox问题的解决办法,鼠标拖动

    以上就是解决C# WinForm中ListView鼠标拖拽到PictureBox问题的基本步骤。在实际应用中,你可能还需要考虑其他细节,如错误处理、UI反馈等。确保所有必要的数据转换都是安全的,并且符合你的应用程序需求。此外,如果...

    ListView的demo,拖曳加载

    在这个"ListView的demo,拖曳加载"项目中,开发者实现了列表数据的分页加载功能,即初次加载20条数据,当用户拖曳到底部后,再自动加载接下来的20条数据,这种技术被称为“无限滚动”或“下拉刷新”。 首先,我们来...

    Listview上拉加载下拉刷新网络数据

    在Android开发中,ListView是一种常见的用于展示大量列表数据的组件,尤其在处理长列表时,为了提供更好的用户体验,通常会采用“上拉加载更多”和“下拉刷新”的功能。这两种交互模式使得用户无需手动翻页,只需轻...

    解决scrollView和listview滚动冲突,实现listview滑动到顶端和底部之后还能拖拽一定的距离,松开后返回

    ScrollView是一个可以包含单个子视图的可滚动容器,而ListView则是通过Adapter来动态加载和展示数据的列表。默认情况下,当两者在同一层级时,触摸事件会被ScrollView捕获,导致ListView无法正常滚动。为了解决这个...

    delphi ex10 ListView上拉下拉更新

    在IT行业中,Delphi是一款强大的RAD(快速应用开发)工具,尤其适合开发Windows和移动平台的应用程序。在Android平台上,ListView是一种常用的控件,用于显示一系列可滚动的项目,类似于表格。本示例"delphi ex10 ...

    listView刷新加载删除

    在Android开发中,ListView是一种常用的视图组件,用于展示大量数据列表。然而,为了提供更好的用户体验,现代应用程序通常需要实现更多的交互功能,如下拉刷新、上推加载更多以及侧滑删除。这些功能使得用户可以...

    拖动刷新加载listview页面

    在Android应用开发中,"拖动刷新加载ListView页面"是一个常见的功能,允许用户通过上滑手势更新列表内容,通常用于加载更多数据。这个功能极大提升了用户体验,让用户在浏览长列表时能够轻松获取新数据。接下来,...

    listview拖拽实现.rar

    在实现拖放功能时,我们需要将用户拖放的图片加载到ImageList中,然后将ImageKey赋值给ListViewItem,以便在ListView中显示。 6. **文件操作**:在处理DragDrop事件时,通常需要进行文件读取。C#提供了丰富的文件...

    c# winform ListView实现图片浏览

    在解决方案文件中,"Listview显示多个图片.sln"是Visual Studio的解决方案文件,包含了整个项目的配置和引用;".suo"文件是用户特定的隐藏设置,通常不需直接编辑;"下载必读.txt"可能是提供下载指南或使用说明的...

    listview下拉刷新加载更多

    "listview下拉刷新加载更多"这个主题涉及到ListView的两个重要特性:下拉刷新(Pull-to-Refresh)和上拉加载更多(Load More)。这两个特性使得用户可以动态地更新列表内容,提升用户体验。 一、下拉刷新(Pull-to-...

    安卓listview相关相关-带拖动排序功能的ListView.rar

    ListView的工作机制是按需加载,只显示屏幕可见的部分,当用户滚动时,会加载更多的视图。 2. **Drag and Drop(拖放)实现**:在Android中,实现ListView的拖放排序功能,主要依赖于`OnItemLongClickListener`和`...

    ListView 下拉刷新,上拉加载,滑动删除

    在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。ListView不仅支持基本的列表项...在实际应用中,还需要考虑性能优化,避免因大量数据加载导致的卡顿,以及在不同设备和屏幕尺寸上的适配问题。

    Android listview 下拉刷新和下拉刷新及加载更多

    下拉刷新功能允许用户通过在ListView顶部向下拖动来获取最新的数据。这一功能通常与网络请求相结合,当用户触发下拉动作后,应用会发送一个请求到服务器,获取最新的数据并更新ListView。实现下拉刷新有多种方式,如...

    listview分页加载

    在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。在处理大数据集时,为了提高用户体验和性能,通常会采用分页加载技术。本文将详细介绍如何实现ListView的下拉刷新功能,为新手提供一份入门...

    listView下拉刷新,到底部自动加载更多

    "ListView下拉刷新,到底部自动加载更多"是移动应用中的常见功能,它提供了用户友好的体验,允许用户通过下拉动作更新列表数据,同时在滚动到底部时自动加载更多内容,这种特性通常被称为"无限滚动"或"自动分页加载...

Global site tag (gtag.js) - Google Analytics