视图刷新方法和装置制造方法及图纸

技术编号:11158836 阅读:205 留言:0更新日期:2015-03-18 14:47
本发明专利技术涉及一种视图刷新方法和装置。该方法包括步骤:获取对视图中列表的刷新请求;根据所述刷新请求将所述列表的刷新任务加入预先建立的队列中;采用预定数量的线程从所述队列中依次提取所述刷新任务进行加载,得到加载所述刷新任务的数据,其中,加载的所述刷新任务的数据采用弱引用存储;根据加载的所述刷新任务的数据刷新所述视图。上述视图刷新方法和装置,因采用预定数量的线程降低了每次刷新任务创建新线程的开销,弱引用存储数据可随时回收占用的内存,降低了内存和CPU等系统资源的占用率,使得页面刷新流畅,且采用队列保证了数据的完整性。

【技术实现步骤摘要】

本专利技术涉及网络应用技术,特别是涉及一种视图刷新方法和装置
技术介绍
因移动终端具备的资源不足,性能低下,在移动终端上安装了应用程序,必须考虑应用程序所占用的内存和CPU(Central Processing Unit,中央处理器)的使用率。将应用程序的图标以列表形式表现是一种常用的方式。列表每滚动一行,需对图标进行批量刷新。传统的刷新方式主要有三种:第一种是直接在主线程中加载图标,图标的引用不做处理,默认使用强引用;第二种是立即开启一条线程独立加载图标,图标的引用不做处理,默认使用强引用;第三种是使用线程池,在加入线程池的任务独立加载图标,图标的引用不做处理,默认使用强引用。其中,强引用是指在Java语言中对象只有在没有其他应用的情况下才会被系统回收。然而,专利技术人经过研究发现,上述三种刷新方式均会使得应用程序占用CPU和内存等系统资源率高,造成刷新页面卡顿,且仅有在系统内存不足时才会回收所占用的资源。
技术实现思路
基于此,有必要针对传统的列表刷新占用系统资源高,刷新页面卡顿问题,提供一种能降低系统资源占用率且使得页面刷新流畅的视图刷新方法。此外,还有必要提供一种能降低系统资源占用率且使得页面刷新流畅的视图刷新装置。一种视图刷新方法,包括步骤:获取对视图中列表的刷新请求;根据所述刷新请求将所述列表的刷新任务加入预先建立的队列中;采用预定数量的线程从所述队列中依次提取所述刷新任务进行加载,得到加载所述刷新任务的数据,其中,加载的所述刷新任务的数据采用弱引用存储;根据加载的所述刷新任务的数据刷新所述视图。一种视图刷新装置,包括:请求获取模块,用于获取对视图中列表的刷新请求;添加模块,用于根据所述刷新请求将所述列表的刷新任务加入预先建立的队列中;加载模块,用于采用预定数量的线程从所述队列中依次提取所述刷新任务进行加载,得到加载所述刷新任务的数据,其中,加载的所述刷新任务的数据采用弱引用存储;刷新模块,用于根据加载的所述刷新任务的数据刷新所述视图。上述视图刷新方法和装置,采用预定数量的线程提取队列中的刷新任务进行加载,得到加载数据,然后根据加载的数据刷新视图,且数据采用弱引用存储,因采用预定数量的线程降低了每次刷新任务创建新线程的开销,弱引用存储数据可随时回收占用的内存,降低了内存和CPU等系统资源的占用率,使得页面刷新流畅,且采用队列保证了数据的完整性。附图说明图1为一个实施例中视图刷新方法的流程图;图2为另一个实施例中视图刷新方法的流程图;图3为另一个实施例中视图刷新方法的流程图;图4为一个实施例中视图刷新装置的结构框图;图5为另一个实施例中视图刷新装置的结构框图;图6为加载模块的内部结构框图;图7为一个实施例中视图刷新系统的结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,为一个实施例中视图刷新方法的流程图。该视图刷新方法应用于移动终端上,可占用较少了内存和CPU等系统资源。该移动终端可为手机、个人数字助理或掌上电脑等。该视图刷新方法,包括步骤:步骤S102,获取对视图中列表的刷新请求。具体的,对视图中列表的刷新请求可通过滑动视图中列表产生,或者滚动视图中的滚动条产生,或者向指定方向(如向左或向右)移动视图中列表产生等。步骤S104,根据该刷新请求将该列表的刷新任务加入预先建立的队列中。刷新任务可为刷新视图中应用程序的图标,或者刷新视图中图片,或者刷新整个视图页面等。将刷新任务加入预先建立的队列中可保证数据的完整性,防止数据丢失。步骤S106,采用预定数量的线程从该队列中依次提取该刷新任务进行加载,得到加载该刷新任务的数据,其中,加载的该刷新任务的数据采用弱引用存储。线程是一种比计算机中的进程更小的单位,一个进程可拥有多个线程。该预定数量可包括1个、2个或3个等。本实施例中,采用3个线程同时提取刷新任务,经过实验数据可知采用3个线程同时加载,能够达到最高的效率,且能够有效控制CPU占用高的情况。线程在每个需要加载的刷新任务的页面初始化时创建,在刷新任务的页面销毁时结束,在该页面未销毁期间,线程一直处于等待状态。弱引用是指Java中对象在任何情况下都有可能被系统回收。本实施例中,刷新任务为刷新应用程序的图标,将图标保存在Map里,以保证图标随时可以被回收。步骤S108,根据加载的该刷新任务的数据刷新该视图。本实施例中,该刷新任务为刷新应用程序的图标。步骤S108包括:根据该加载的该刷新任务的数据采用FindViewByTag局部刷新该视图。具体的,通过tag(图标)找到对应的view(视图),然后再刷新该view。上述视图刷新方法,采用预定数量的线程提取队列中的刷新任务进行加载,得到加载数据,然后根据加载的数据刷新视图,且数据采用弱引用存储,因采用预定数量的线程降低了每次刷新任务创建新线程的开销,弱引用存储数据可随时回收占用的内存,降低了内存和CPU等系统资源的占用率,使得页面刷新流畅,且采用队列保证了数据的完整性。如图2所示,为另一个实施例中视图刷新方法的流程图。图2中的视图刷新方法与图1的区别在于:图2中增加了刷新任务的加载位置的优先级,按照优先级从高到低进行加载。该视图刷新方法包括:步骤S202,获取对视图中列表的刷新请求。步骤S204,根据该刷新请求将该列表的刷新任务加入预先建立的队列中。步骤S206,预先设置刷新任务的加载位置的优先级,内存、本地外设存储、云端存储的优先级逐渐降低。本地外设存储可为SD(Secure Digital Memory,安全数码卡)卡,云端存储是指远程服务器存储。步骤S208,采用预定数量的线程从该队列中依次提取该刷新任务,按照加载位置的优先级从高到低对该刷新任务进行加载,得到加载该刷新任务的数据,其中,加载的该刷新任务的数据采用弱引用存储。具体的,在线程加载刷新任务的数据时,首先从内存中寻找相同的数据,若没有,则从本地外设存储中查找相同的数据,若没有,则继续从云端存储下载相同的数据。步骤S210,根据加载的该刷新任务的数据刷新该视图。上述视图刷新方法,加载数据时,首先从内存内获取数据,若内存不存在时,本文档来自技高网...
视图刷新方法和装置

【技术保护点】
一种视图刷新方法,包括步骤:获取对视图中列表的刷新请求;根据所述刷新请求将所述列表的刷新任务加入预先建立的队列中;采用预定数量的线程从所述队列中依次提取所述刷新任务进行加载,得到加载所述刷新任务的数据,其中,加载的所述刷新任务的数据采用弱引用存储;根据加载的所述刷新任务的数据刷新所述视图。

【技术特征摘要】
1.一种视图刷新方法,包括步骤:
获取对视图中列表的刷新请求;
根据所述刷新请求将所述列表的刷新任务加入预先建立的队列中;
采用预定数量的线程从所述队列中依次提取所述刷新任务进行加载,得到
加载所述刷新任务的数据,其中,加载的所述刷新任务的数据采用弱引用存储;
根据加载的所述刷新任务的数据刷新所述视图。
2.根据权利要求1所述的方法,其特征在于,所述刷新任务为刷新应用程
序的图标;
所述根据加载的所述刷新任务的数据刷新所述列表所在的视图的步骤包
括:
根据所述加载的所述刷新任务的数据采用FindViewByTag局部刷新所述视
图。
3.根据权利要求1所述的方法,其特征在于,在所述采用预定数量的线程
从所述队列中依次提取所述刷新任务进行加载,得到加载所述刷新任务的数据
的步骤之前,还包括:
预先设置刷新任务的加载位置的优先级,内存、本地外设存储、云端存储
的优先级逐渐降低;
所述采用预定数量的线程从所述队列中依次提取所述刷新任务进行加载,
得到加载所述刷新任务的数据的步骤包括:
采用预定数量的线程从所述队列中依次提取所述刷新任务,按照加载位置
的优先级从高到低对所述刷新任务进行加载,得到加载所述刷新任务的数据。
4.根据权利要求1所述的方法,其特征在于,所述采用预定数量的线程从
所述队列中依次提取所述刷新任务进行加载,得到加载所述刷新任务的数据的
步骤包括:
采用预定数量的线程从所述队列中依次提取所述刷新任务,获取所述刷新
任务中加载数据的起始位置和最后位置;
将所述起始位置与最后位置之间的数据作为加载所述刷新任务的数据。
5.根据权利要求4所述的方法,其特征在于,所述获取对视图中列表的刷
新请求的步骤包括:
获取对视图中列表进行滑动操作产生的刷新请求;
所述获取刷新任务中加载数据的起...

【专利技术属性】
技术研发人员:关盛裕许杰锋
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1