一种移动App优化列表性能的方法及系统技术方案

技术编号:25478950 阅读:29 留言:0更新日期:2020-09-01 23:00
本发明专利技术公开了一种移动App优化列表性能的方法及系统,方法包括:获取待渲染元素,其中,待渲染元素包括:文本或图片;从缓存数据中提取与待渲染元素对应的标签,判断待渲染元素与标签是否相同,若是,则跳过对待渲染元素进行渲染的过程。本发明专利技术在滑动列表时,通过判断待渲染元素与待渲染元素对应的标签是否相同,当待渲染元素与标签相同时,无需再对待渲染元素进行渲染,有效解决了渲染流程耗时较长,以及滑动页面卡顿的问题。

【技术实现步骤摘要】
一种移动App优化列表性能的方法及系统
本专利技术涉及移动App应用开发
,尤其涉及一种移动App优化列表性能的方法及系统。
技术介绍
目前,移动APP中的列表数据渲染为:通常在移动App中,使用一种名为RecyclerView的列表控件,一种可以结合单个数据对列表每个元素进行渲染的适配器,以及该列表对应的数据列表(通常包含文本内容、图片地址等)。使用这种传统方案的问题在于,在滑动过程中,不管某个列表某个元素是否已经渲染过了,在其从屏幕外划入屏幕内,都会重新执行一遍其渲染流程,通常这是一种浪费,而且若该元素比较复杂,例如其为一个横向的二级列表,则渲染流程通常耗时较长,造成滑动过程中的卡顿,无法满足高流畅性的要求。因此,在列表滑动过程中,如何解决渲染流程耗时较长,以及滑动页面卡顿的问题,是一项亟待解决的问题。
技术实现思路
有鉴于此,本专利技术提供了一种移动App优化列表性能的方法,能够解决渲染流程耗时较长,以及滑动页面卡顿的问题。本专利技术提供了一种移动App优化列表性能的方法,包括:获取待渲染元素,其中,所述待渲染元素包括:文本或图片;从缓存数据中提取与所述待渲染元素对应的标签;判断所述待渲染元素与所述标签是否相同,若是,则跳过对所述待渲染元素进行渲染的过程。优选地,所述方法还包括:当所述渲染元素与所述标签不相同时,对所述待渲染元素进行渲染。优选地,所述方法还包括:将所述待渲染元素以标签形式设置给该元素的根节点控件。优选地,所述判断所述待渲染元素与所述标签是否相同,包括:逐级迭代判断所述待渲染元素与所述标签的成员是否相同。优选地,所述逐级迭代判断所述待渲染元素与所述标签的成员是否相同,包括:逐级迭代判断所述待渲染元素与所述标签的成员数量或成员内容是否相等。一种移动App优化列表性能的系统,包括:获取模块,用于获取待渲染元素,其中,所述待渲染元素包括:文本或图片;提取模块,用于从缓存数据中提取与所述待渲染元素对应的标签;判断模块,用于判断所述待渲染元素与所述标签是否相同;跳过模块,用于当所述待渲染元素与所述标签相同时,跳过对所述待渲染元素进行渲染的过程。优选地,所述系统还包括:渲染模块,用于当所述待渲染元素与所述标签不相同时,对所述待渲染元素进行渲染。优选地,所述系统还包括:设置模块,用于将所述待渲染元素以标签形式设置给该元素的根节点控件。优选地,所述判断模块在执行判断所述待渲染元素与所述标签是否相同时,具体用于:逐级迭代判断所述待渲染元素与所述标签的成员是否相同。优选地,所述判断模块在执行逐级迭代判断所述待渲染元素与所述标签的成员是否相同时,具体用于:逐级迭代判断所述待渲染元素与所述标签的成员数量或成员内容是否相等。综上所述,本专利技术公开了一种移动App优化列表性能的方法,包括:获取待渲染元素,其中,待渲染元素包括:文本或图片;从缓存数据中提取与待渲染元素对应的标签,判断待渲染元素与标签是否相同,若是,则跳过对待渲染元素进行渲染的过程。本专利技术在滑动列表时,通过判断待渲染元素与待渲染元素对应的标签是否相同,当待渲染元素与标签相同时,无需再对待渲染元素进行渲染,有效解决了渲染流程耗时较长,以及滑动页面卡顿的问题。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术公开的一种移动App优化列表性能的方法实施例1的方法流程图;图2为本专利技术公开的一种移动App优化列表性能的方法实施例2的方法流程图;图3为本专利技术公开的一种移动App优化列表性能的方法实施例3的方法流程图;图4为本专利技术公开的一种移动App优化列表性能的系统实施例1的结构示意图;图5为本专利技术公开的一种移动App优化列表性能的系统实施例2的结构示意图;图6为本专利技术公开的一种移动App优化列表性能的系统实施例3的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1所示,为本专利技术公开的一种移动App优化列表性能的方法实施例1的方法流程图,所述方法可以包括以下步骤:S101、获取待渲染元素,其中,待渲染元素包括:文本或图片;当需要对移动App列表的性能进行优化时,定义一个用户控件数据缓存的key,该key为数字类型的不可变常量,在整个App中唯一;例如,在移动App工程中的ids.xml中定义名为list_item_data_key,类型为id的元素。使用移动系统原生提供的列表控件listview,用于展示列表数据;创建一个列表控件对应的适配器adapter,用于根据元素的位置,展示单个列表元素;准备需要展示内存数据列表,假设名为datas,通常是内存中的数据实体,包含了文本展示内容和网络图片的url地址;将适配器设置给列表,则当列表元素需要展示时,会触发适配器的bindViewHolder方法,bindViewHolder会给出带渲染的列表元素根布局,带渲染的元素位于列表的坐标index。若某个列表元素具备比较复杂的UI结构,例如为一个二级列表,则在初次渲染该元素时,将其对应数据实体,以标签形式绑定到该元素的根节点视图中,作为数据缓存。在下次渲染该元素时,首先获取待渲染元素,其中,待渲染元素包括:文本或图片。如,使用坐标index,从datas中拿到对应需要展示的单个内存数据对象命名为data。根据实际业务逻辑,从data中取得需要展示在该文本或者图片上的字段,通常为字符串形式的一段文本或者网络图片地址。S102、从缓存数据中提取与待渲染元素对应的标签;然后,使用移动App提供的获取标签方法getTag(),从该元素中获取标签。即,从根布局中使用getTag(key)拿到对应标签tagData。例如,从图片或文本控件中使用getTag(key)拿到对应标签tagData。S103、判断待渲染元素与标签是否相同,若是,则进入S104:然后,判断待渲染元素与标签是否相同。即,若标签tagData存在,则比较tagData和数据对象data。例如,比较tagData和拿到的文本或者图片地址。S104、跳过对待渲染元素进行渲染的过程。当待渲染元素与标签相同时,则认为该待渲染元素无需刷新,可以跳过整段渲染逻辑。综上所述,在上述实施本文档来自技高网...

【技术保护点】
1.一种移动App优化列表性能的方法,其特征在于,包括:/n获取待渲染元素,其中,所述待渲染元素包括:文本或图片;/n从缓存数据中提取与所述待渲染元素对应的标签;/n判断所述待渲染元素与所述标签是否相同,若是,则跳过对所述待渲染元素进行渲染的过程。/n

【技术特征摘要】
1.一种移动App优化列表性能的方法,其特征在于,包括:
获取待渲染元素,其中,所述待渲染元素包括:文本或图片;
从缓存数据中提取与所述待渲染元素对应的标签;
判断所述待渲染元素与所述标签是否相同,若是,则跳过对所述待渲染元素进行渲染的过程。


2.根据权利要求1所述的方法,其特征在于,还包括:
当所述渲染元素与所述标签不相同时,对所述待渲染元素进行渲染。


3.根据权利要求2所述的方法,其特征在于,还包括:
将所述待渲染元素以标签形式设置给该元素的根节点控件。


4.根据权利要求1所述的方法,其特征在于,所述判断所述待渲染元素与所述标签是否相同,包括:
逐级迭代判断所述待渲染元素与所述标签的成员是否相同。


5.根据权利要求4所述的方法,其特征在于,所述逐级迭代判断所述待渲染元素与所述标签的成员是否相同,包括:
逐级迭代判断所述待渲染元素与所述标签的成员数量或成员内容是否相等。


6.一种移动App优化列表性能的系统,其特征在于,包括:
获取...

【专利技术属性】
技术研发人员:徐斌陈云
申请(专利权)人:湖南快乐阳光互动娱乐传媒有限公司
类型:发明
国别省市:湖南;43

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

1