Android Listview(列表显示)性能优化的相关专利方法及系统

原创 2015年07月11日 09:51:23

  列表在终端中的应用非常广泛,比如,通讯录、短信、相册和网页信息等,用户可以通过滑动列表或点击列表查看数据。
  终端可以通过调用列表控件 ( ListView) 和为列表控件分配的适配器实现在界面中显示列表。 具体地,适配器实时接收待显示数据,根据需要显示的项数逐一绘制列表的数据项,并将接收到的待显示数据对应添加到列表的每一个数据项中,列表控件对适配器绘制后的列表进行显示。
  在实现本发明的过程中,发明人发现现有技术至少存在以下问题 :
  如果列表处于滑动状态时适配器接收到待显示数据,则终端默认边滑动列表边显示待显示数据,当终端的性能低下或适配器中待显示数据的数据量很大时,边滑动列表边显示数据会造成列表控件运行卡顿的问题,降低了显示效率。

1.Android 系统中基于列表显示的数据显示方法及装置
  本发明公开了一种 Android 系统中基于列表显示的数据显示方法及装置,属于计算机技术领域。 所述方法包括 :在接收到待显示数据后,检测列表是否处于滑动状态 ;若检测到所述列表处于滑动状态,则对所述待显示数据进行缓存 ;检测所述列表是否从滑动状态切换到静止状态 ;若检测到所述列表从滑动状态切换到静止状态,则对缓存的所述待显示数据进行显示。 本发明解决了边滑动列表边显示数据会造成列表控件运行卡顿的问题,达到了提高显示效率的技术效果。
  
   这里写图片描述 
   

  为了解决边滑动列表边显示数据会造成列表控件运行卡顿的问题,本发明实施例提供了一种 Android 系统中基于列表显示的数据显示方法及装置。 所述技术方案如下 :
  一方面,提供了一种 Android 系统中基于列表显示的数据显示方法,所述方法包括 :
  在接收到待显示数据后,检测列表是否处于滑动状态 ;
  若检测到所述列表处于滑动状态,则对所述待显示数据进行缓存 ;
  检测所述列表是否从滑动状态切换到静止状态 ;
  若检测到所述列表从滑动状态切换到静止状态,则对缓存的所述待显示数据进行显示。
  另一方面,提供了一种 Android 系统中基于列表显示的数据显示装置,所述装置包括 :
  第一检测模块,用于在接收到待显示数据后,检测列表是否处于滑动状态 ;
  缓存模块,用于若所述第一检测模块检测到所述列表处于滑动状态,则对所述待显示数据进行缓存 ;
  第二检测模块,用于所述第一检测模块检测到列表处于滑动状态之后,检测所述列表是否从滑动状态切换到静止状态 ;
  显示模块,用于若所述第二检测模块检测到所述列表从滑动状态切换到静止状态,则对所述缓存模块缓存的所述待显示数据进行显示。
  本发明实施例提供的技术方案带来的有益效果是 :
  通过检测列表是否处于滑动状态 ;若检测到所述列表处于滑动状态,则对所述待显示数据进行缓存,检测列表是否从滑动状态切换到静止状态 ;若检测到列表从滑动状态切换到静止状态,则对缓存的待显示数据进行显示,解决了边滑动列表边显示数据会造成列表控件运行卡顿的问题,达到了提高显示效率的技术效果。

2.滑动列表的控制方法及系统

  本发明公开了一种滑动列表的控制方法及系统,该方法包括以下步骤:当滑动列表减速滑动停止后,判断所述滑动列表的停止位置是否超过边界区域;若所述滑动列表的停止位置没有超过边界区域,则判断所述滑动列表最上方的条目所显示的高度是否小于预定值;若是,则控制所述滑动列表向上滑动至第一指定位置;若否,则控制所述滑动列表向下滑动至第二指定位置。采用上述滑动列表的控制方法及系统之后,条目的显示更加完整,在视觉上也更美观、更有条理,而且可以完整显示的条目增多,更有利于用户的选择。
  
  这里写图片描述 
  
  众所周知,在一些应用程序中常常需要多个滑动列表。 传统的滑动列表的控制方法,当手势滑动后抬手 ( 即结束滑动操作),滑动列表会继续减速滑动,最后停止在某个位置。 此时,除非滑动列表停在超过边界区域的位置它才会回位到边界区域的位置,其他情况下都停在哪儿就是哪儿,导致抬手停止后条目 (或称“cell”) 的位置比较随意,造成最上或最下的条目显示不完整的情况出现。 例如图 1 所示,滑动列表最终停止滑动后,上面有个不完整的条目,下面也有个不完整的条目,能完整显示的只有中间的那一个条目。
  对于条目比较多的应用程序来讲,采用传统的滑动列表的控制方法看上去影响并不大 ;但对于那种一个画面内条目较少的应用程序,或者当整个滑动列表的高度只有一个条目的高度,那么就连一个完整的条目都显示不出来,从而损失显示条目的完整性,也对美观有影响。
  当滑动列表减速滑动停止后,判断所述滑动列表的停止位置是否超过边界区域 ;
  若所述滑动列表的停止位置没有超过边界区域,则判断所述滑动列表最上方的条目所显示的高度是否小于预定值 ;
  若是,则控制所述滑动列表向上滑动至第一指定位置 ;
  若否,则控制所述滑动列表向下滑动至第二指定位置。
  一种滑动列表的控制系统,包括 :
  第一判断模块,用于当滑动列表减速滑动停止后,判断所述滑动列表的停止位置是否超过边界区域 ;
  第二判断模块,用于若所述滑动列表的停止位置没有超过边界区域,则判断所述滑动列表最上方的条目所显示的高度是否小于预定值 ;
  上滑控制模块,用于若所述滑动列表最上方的条目所显示的高度小于所述预定值,则控制所述滑动列表向上滑动至第一指定位置 ;
  下滑控制模块,用于若所述滑动列表最上方的条目所显示的高度大于或等于所述预定值,则控制所述滑动列表向下滑动至第二指定位置。 由以上方案可以看出,本发明实施例的一种滑动列表的控制方法及系统,其在减速滑动停止时滑动列表不超过边界区域的前提下,当发现滑动列表最上方的条目所显示的高度小于预定值时,则控制滑动列表向上移动到指定位置 ;当滑动列表最上方的条目所显示的高度大于或等于预定值时,则控制滑动列表向下移动到另一指定位置,总之在滑动结束后,当前滑动列表最上方的那个条目要能够完全显示出来。 经过了本发明实施例的这种类似于网格对齐的处理后,条目的显示更加完整,在视觉上也更美观、更有条理,而且可以完整显示的条目增多,更有利于用户的选择。

Android--开发资源管理器/优化ListView显示列表方法

android:ListView中的getView原理 其实这里的复用技术在列表中是十分常见的,iphone中的tableView也有相关的技术,cell的复用 工作原理: ListVi...

RecyclerView+ImageLoader图片列表的加载与展示【从listview加载图片性能优化引出的解决方法】

RecyclerView+ImageLoader图片列表的加载与展示 一、问题的引出——listview性能优化 1.ListView的就性能优化原理 (1)尽可能少去执行Layou的Inflate...

android优化--滑动ListView列表时背景变黑的解决方法

Why is my list black? An Android optimization Posted by Romain Guy on 13 January 2009at 11:20 AM L...

Android通过LIstView显示文件列表的两种方法介绍

在Android中通过ListView显示SD卡中的文件列表一共有两种方法,一是:通过继承ListActivity显示;二是:利用BaseAdapter显示。BaseAdapter是一个公共基类适配器...

Android ListView getView方法 性能优化

Android ListView getView方法 性能优化【转】   2012-08-09 14:15:50|  分类: android进阶|字号 订阅 ...
  • hlp_127
  • hlp_127
  • 2012年12月06日 19:28
  • 559

浅谈Android开发中ListView控件性能的一些优化方法

ListView优化一直是一个老生常谈的问题,不管是面试还是平常的开发中,ListView永远不会被忽略掉,那么这篇文章我们来看看如何最大化的优化ListView的性能。 1.在adapter中的ge...

android listView 重写Adapter方法getView的性能优化问题

1.为什么要重写Adapter 的getView方法      为什么要重写getView方法 可以看这里   android listView滚动时checkBox的状态不会保存的问题    2.在...
  • dxswzj
  • dxswzj
  • 2013年08月31日 00:47
  • 10376

Android UI系统控件进阶(一)之列表控件ListView详解

列表控件ListViewListView是一种用于垂直显示的列表控件,列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCursorAdapter。ArrayAdapte...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android Listview(列表显示)性能优化的相关专利方法及系统
举报原因:
原因补充:

(最多只允许输入30个字)