CN107391163B - 移动终端中页面数据加载方法、装置和应用 - Google Patents

移动终端中页面数据加载方法、装置和应用 Download PDF

Info

Publication number
CN107391163B
CN107391163B CN201710264562.0A CN201710264562A CN107391163B CN 107391163 B CN107391163 B CN 107391163B CN 201710264562 A CN201710264562 A CN 201710264562A CN 107391163 B CN107391163 B CN 107391163B
Authority
CN
China
Prior art keywords
service
page
service module
sub
expandablelistview
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710264562.0A
Other languages
English (en)
Other versions
CN107391163A (zh
Inventor
李广奎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201710264562.0A priority Critical patent/CN107391163B/zh
Publication of CN107391163A publication Critical patent/CN107391163A/zh
Application granted granted Critical
Publication of CN107391163B publication Critical patent/CN107391163B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44578Preparing or optimising for loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请实施例公开了一种页面数据加载方法、装置和应用,该方法包括:按照应用中待显示的页面中的业务模块,在该页面的ExpandableListview对象中添加各业务模块对应的分组的组头;分别向应用的业务服务器发送该页面中各第一类业务模块对应的业务数据请求,其中,该第一类业务模块为该页面中需要在页面打开阶段展示的业务模块;将反馈的各第一类业务模块的业务数据,分别作为该ExpandableListview对象中各第一类业务模块对应的分组的子项添加,并展开显示各第一类业务模块对应的分组。本申请实施例的方案能够减少出现OOM的概率,为用户提供更好的体验。

Description

移动终端中页面数据加载方法、装置和应用
技术领域
本申请涉及计算机软件技术领域,尤其涉及一种移动终端中页面数据加载方法、装置和应用。
背景技术
随着安卓应用的不断增大,页面所要透出的信息量也越来越多,页面的布局也越来越复杂。
以股票类的手机应用为例中,这种布局体现的更为明显,其页面上往往需要展示股指信息、K线图及股市要闻等内容。个别股票类应用,甚至需要展示更为复杂的页面。
由于需要加载的页面类型过多,在现有的需要展示复杂页面的终端应用中,容易出现内存溢出(Out of Memory,OOM)问题,导致应用闪退。
加载复杂页面时如何减少或避免出现OOM问题,是本申请所要解决的技术问题。
发明内容
本申请实施例的目的是提供一种移动终端中页面数据的加载方法、装置和应用,以减少出现OOM的概率。
为解决上述技术问题,本申请实施例是这样实现的:
第一方面,提供了一种页面数据的加载方法,该方法包括:
按照应用中待显示的页面中的业务模块,在该页面的ExpandableListview对象中添加各业务模块对应的分组的组头;
分别向应用的业务服务器发送该页面中各第一类业务模块对应的业务数据请求,其中,该第一类业务模块为该页面中需要在页面打开阶段展示的业务模块;
将反馈的各第一类业务模块的业务数据,分别作为该ExpandableListview对象中各第一类业务模块对应的分组的子项添加,并展开显示各第一类业务模块对应的分组。
第二方面,提出了一种页面数据加载装置,该装置包括:
分组添加单元,按照应用中待显示的页面中各业务模块,在该页面的ExpandableListview对象中添加各业务模块对应的分组的组头;
数据请求单元,分别向应用的业务服务器发送该页面中各第一类业务模块对应的业务数据请求,其中,该第一类业务模块为该页面中需要在页面打开阶段展示的业务模块;
子项添加单元,将反馈的各第一类业务模块的业务数据,分别作为该ExpandableListview对象中各第一类业务模块对应的分组的子项添加,并展开显示各第一类业务模块对应的分组。
第三方面,提出了一种页面数据加载装置,该装置包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,该可执行指令在被执行时使该处理器执行以下操作:
按照应用中待显示的页面中各业务模块,在该页面的ExpandableListview对象中添加各业务模块对应的分组的组头;
分别向应用的业务服务器发送该页面中各第一类业务模块对应的业务数据请求,其中,该第一类业务模块为该页面中需要在页面打开阶段展示的业务模块;
将反馈的各第一类业务模块的业务数据,分别作为该ExpandableListview对象中各第一类业务模块对应的分组的子项添加,并展开显示各第一类业务模块对应的分组。
第四方面,提出了一种应用,该应用包括第二方面或第三方面的页面数据加载装置。
第五方面,提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序当被包括多个应用程序的电子设备执行时,使得该电子设备执行以下操作:
按照应用中待显示的页面中的业务模块,在该页面的ExpandableListview对象中添加各业务模块对应的分组的组头;
分别向应用的业务服务器发送该页面中各第一类业务模块对应的业务数据请求,其中,该第一类业务模块为该页面中需要在页面打开阶段展示的业务模块;
将反馈的各第一类业务模块的业务数据,分别作为该ExpandableListview对象中各第一类业务模块对应的分组的子项添加,并展开显示各第一类业务模块对应的分组。
本申请实施例中,基于以上技术方案,通过采用ExpandableListview组件加载数据,并在页面数据加载时,只向应用的业务服务器请求需要展示的分组的业务数据,从而能够减少出现OOM的概率,为用户提供更好的体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一个实施例页面数据加载的场景示意图。
图2为本申请一个实施例页面模块划分的场景示意图。
图3是本申请的一个实施例页面数据加载的方法流程图。
图4是本申请的一个实施例一种滚动显示业务模块对应的分组的子项的方法示意图。
图5是本申请的一个实施例电子设备的结构示意图。
图6是本申请的一个实施例页面数据加载装置的结构示意图。
具体实施方式
本申请实施例提供一种移动终端中页面数据的加载方法、装置和应用。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
图1为本申请一个实施例页面数据加载的场景示意图。在图1所示实施例中,股票类应用需要加载股指行情、分时/日K信息、以及要闻等内容。
为便于理解应用中各模块的划分,图2示出了经模块划分的页面数据加载的场景示意图。其中,Part1部分为股指行情的相关业务模块,Part2部分为K线图的相关业务模块,Part3部分为要闻的相关业务模块。
在现有的终端应用的页面加载方法中,通常是在页面打开时,页面中的每个模块单独发出业务数据请求,再根据返回的数据渲染当前页面。
现有数据的方法,如果应用的当前页面类型比较多,页面内容比较长,在一些低端机型进行页面加载时出现OOM的记录很大,应用闪退(Crash)的概率很高,而且出现这种情况后修复的成本也比较高。
本申请的页面数据加载方法、装置和应用能够解决上述问题。
图3是本申请的一个实施例页面数据加载的方法流程图。图3的方法由页面数据加载装置执行。具体地,该页面数据加载装置可以是终端应用的一个功能模块。图3的方法可包括:
S301,按照应用中待显示的页面中的业务模块,在该页面的ExpandableListview对象中添加各业务模块对应的分组的组头。
应理解,ExpandableListView是一种具有组概念的特殊Listview,是ListView的子类,在Listview的基础上进行了扩展。ExpandableListView对象是一种具有对列表项的进行分组管理的功能的列表显示对象,可将应用中的列表项进行分组,每个分组中包括若干个列表项。在ExpandableListView对象中,一般可包括两层节点,即分组节点,以及分组节点的子项节点。当然,应理解,在ExpandableListView对象中,分组节点下可以没有子项节点,但子项节点必然属于某个分组节点。
应理解,在绘制ExpandableListView时,首先需要为ExpandableListView对象设置适配器(Adapter)。要给ExpandableListView设置适配器,那么必须先设置数据源;数据源可采用适配器类ExpandableAdapter,该类继承了BaseExpandableListAdapter,是ExpandableListView的一个子类。在具体的应用中,需要重写里面的多个方法,例如,重写getChildView()和getGroupView()方法设置自定义的布局;当数据源设置好,通过调用ExpandableListView对象的setAdapter()即可实现收缩功能。应理解,对ExpandableListview对象中分组/子项的添加,实际上就是对ExpandableListview对象所绑定的Adapter中分组/子项的添加。
以图2所示的场景为例,应用需要在ExpandableListview对象中添加Part1部分的股指行情业务模块对应的分组的组头,Part2部分的K线图业务模块对应的分组的组头,以及Part3部分的要闻业务模块对应的分组的组头。其中,Part2部分的K线图业务模块,包括分时K线图业务模块、日K线图业务模块、周K线图业务模块及月K线图业务模块等。在具体的实现中,应用或应用的页面数据加载装置可在ExpandableListview对象所绑定的Adapter中添加各业务模块对应的分组。
S302,分别向应用的业务服务器发送该页面中各第一类业务模块对应的业务数据请求。
其中,该第一类业务模块为该页面中需要在页面打开阶段展示的业务模块。应理解,在页面打开阶段展示,是指在页面初次打开后,在移动终端的屏幕中展示。
还是以图2所示的场景为例,股指行情业务模块,以及K线图中的分时K线图业务模块,需要在页面打开阶段展示。也就是说,该第一类业务模块包括股指行情业务模块,以及分时K线图业务模块。因此,在本申请实施例中,在页面打开阶段,应用需要请求股指行情业务模块的业务数据,以及分时K线图业务模块的业务数据。
S303,将反馈的各第一类业务模块的业务数据,分别作为该ExpandableListview对象中各第一类业务模块对应的分组的子项添加,并展开显示各第一类业务模块对应的分组。
还是以图2所示的场景为例。在将股指行情业务模块的业务数据添加到股指行情业务模块对应的分组的子项,并将分时K线图业务模块的业务数据添加到分时K线图业务模块对应的分组的子项后,需要展开显示股指行情业务模块对应的分组,以及分时/日K信息业务模块对应的分组。在具体的实现中,应用或应用的页面数据加载装置可在ExpandableListview对象所绑定的Adapter中添加股指行情业务模块对应的分组的子项,以及分时K线图业务模块对应的分组的子项。
本申请实施例中,通过采用ExpandableListview组件加载数据,并在页面数据加载时,只向应用的业务服务器请求需要展示的分组的业务数据,从而能够减少出现OOM的概率,为用户提供更好的体验。
应理解,本申请实施例采用ExpandableListView对象作为列表显示对象,但也不排除以其它具有两层节点展示结构及分组展示功能的Listview对象替代本申请实施例ExpandableListView对象的方式,其替换方案也属于本申请实施例所保护的内容。
当然,应理解,在本申请实施例中,如果页面中业务模块对应的分组不在移动终端的显示屏幕中,则不会对该业务模块的组头进行绘制,但该业务模块的组头数据已经存在于和ExpandableListView所绑定的Adapter中。
例如,在图2所示实施例中,要闻业务模块对应的组头在页面打开时并不会进行绘制,只有当要闻业务模块对应的组头进入移动终端的屏幕中,才会对要闻业务模块对应的组头进行绘制。
当然,应理解,本申请实施例中,应用或页面数据加载装置还可根据实际需要,在ExpandableListview对象中增加表头,或者是调整表头在ExpandableListview对象中的位置,本申请实施例对此不作限制。
可选地,作为一个实施例,该方法还包括:
在第二类业务模块对应的分组第一次展开时,向应用的业务服务器发送该第二类业务模块对应的业务数据请求,其中,该第二类业务模块为不需要在页面打开阶段展示的业务模块;
将反馈的该第二类业务模块的业务数据,作为该ExpandableListview对象中该第二类业务模块对应的分组的子项添加,并展开显示该第二类业务模块对应的分组。
本申请实施例中,在第二类业务模块第一次展开时再请求业务数据,并添加到该ExpandableListview对象中该第二类业务模块对应的分组,以进行展示,从而能够避免页面一次性加载太多业务数据,进而减少OOM出现的概率。
还是以图2所示的场景为例,在图2所示的场景中,要闻业务模块为第二类业务模块。股票类应用可在要闻业务模块第一次展开时,向股票类应用的业务服务器发送要闻业务模块对应的业务数据请求,以请求股市要闻对应的业务数据。当接收到业务服务器反馈的业务数据后,股票类应用可将要闻业务模块的业务数据作为要闻业务模块对应的分组的子项添加,然后展开显示要闻业务模块对应的分组。
可选地,作为一个实施例,在滚动显示业务模块对应的分组的子项时,该方法还可包括:
将移出子项的显示View对象缓存到回收该应用所在的操作***的反复循环器Recycler中,该移出子项为该ExpandableListview对象中从显示状态移出屏幕视角的子项;
重用该View对象作为移入项调用的getView中的convertView参数,以完成该移入子项的view对象的绘制,该移入子项为该ExpandableListview对象中移入屏幕视角的子项。
图4示出了本申请的一个实施例一种滚动显示业务模块对应的分组的子项的方法示意图。如图4所示,无论当前ExpandableListview对象的业务模块中包括多少个子项(item),移动终端只需要将其中可见的View对象存储在内存中。当向下滑动时,顶部不可见的Item1直接移动到反复循环器Recycler中,股票类应用再从Recycler取出Item1并再次填充数据,然后移动到下方变为新增项Item8。
下面是一段具体的实现代码:
Figure BDA0001275676270000081
本申请实施例中,通过使用Recycler循环回收移出显示屏幕的子项对象,再通过填充数据形成移入显示屏幕的子项,从而能够以较少的对象实现ExpandableListview对象中子项的显示,避免因业务数据太多导致需要创建过多的子项对象,在一定程度上也能够减少出现OOM的概率。
可选地,作为一个实施例,该方法还包括:
在初次绘制第一子项时,将该第一子项的view对象的显示内容设置到该View对象的指定属性中,该第一子项为该ExpandableListview对象中任意一个组内的子项;
在再次绘制该第一子项时,从该第一子项的view对象的指定属性中加载该第一子项的view对象的显示内容并完成该第一子项的view对象的绘制。
可选地,该指定属性可以是view对象的tag属性,或者是其它属性。
下面是一段具体的实现代码,以view对象的tag属性缓存子项的显示内容:
Figure BDA0001275676270000091
本申请实施例中,通过在初次绘制子项时将展示内容缓存到子项的View对象的属性中,使得应用或页面数据加载装置在再次绘制该子项时能够直接从该子项的View对象的属性中获取展示内容,大大提高了子项再次绘制的效率。
可选地,作为一个实施例,该方法还包括:如果后续需要加载的页面中包括该ExpandableListview对象所展示的内容,则将该ExpandableListview对象直接作为该后续需要加载的页面中的对象。
本申请实施例中,如果后续需要加载的页面中需要展示当前ExpandableListview对象所展示的内容,可直接将该ExpandableListview对象传递到后续打开的页面中,从而无需再进行ExpandableListview对象的创建及请求业务数据的操作,大大提高了后续需要加载的页面的打开效率。
可选地,作为一个实施例,在该页面的ExpandableListview对象中添加各业务模块对应的分组的组头,具体可实现为:
当该ExpandableListview对象中第一业务模块对应的分组的组头不需要显示名称时,将透明细线作为第一业务模块对应的分组的组头添加到该ExpandableListview对象中。
还是以图2所示的场景为例,股指行情业务模块不需要显示标题名称,此时,可将一根透明细线作为股指行情业务模块对应的分组的组头。
本申请实施例中,通过将透明细线作为组头,使得页面无需展示不需要的用户信息,从而能够简化页面,使页面的显示更为简洁。
可选的,作为一个实施例,S303具体可实现为:如果该ExpandableListview对象中第一类业务模块对应的业务数据请求所请求的业务数据的数量大于该第一类业务模块在屏幕中所能展示的子项的个数,则只在该第一类业务模块对应的分组中添加该第一类业务模块在屏幕中所能展示的子项。
以图4为例,假设某个业务模块只能在移动终端的屏幕中显示7条业务数据,该业务模块当前的业务数据有8条,则应用或页面数据加载装置只需要绘制7条业务数据对应的7个子项。
进一步地,步骤S303还可包括:在该第一类业务模块对应的分组中绘制用于展示更多业务数据的功能按钮。
还是假设某个业务模块只能在移动终端的屏幕中显示7条业务数据,该业务模块当前的业务数据有8条。在绘制7条业务数据对应的7个子项后,应用或页面数据加载装置还可在该业务模块对应的分组中展示“查看更多”的按钮,当用户点击“查看更多”时,应用或页面数据加载装置可加装显示更多业务数据对应的子项。当然,如果该业务模块当前的业务数据小于或等于7条,应用或页面数据加载装置可显示“暂无更多”的按钮,或者不额外显示按钮,等等。
可选的,作为一个实施例,S303具体可实现为:如果该ExpandableListview对象中第一类业务模块对应的业务数据请求所请求的业务数据的数量大于该第一类业务模块在屏幕中所能展示的子项的个数,则在所述第一类业务模块对应的分组中添加所述第一类业务模块对应的所有业务数据的子项,并只绘制该第一类业务模块在屏幕中所能展示的子项。
还是假设某个业务模块只能在移动终端的屏幕中显示7条业务数据,该业务模块当前的业务数据有8条。应用或页面数据加载装置可在该ExpandableListview对象中该业务模块对应的分组添加8个子项,但只绘制7个子项进行显示。
当然,应理解,应用或页面数据加载装置在发送业务数据请求时,可采用分页加载等方式请求数据。例如,每次最多请求8条业务数据,或者是其它数量的业务数据,等等。
可选地,在本申请实施例中,该应用可包括股票类应用等页面加载超过一定数据量的业务数据的应用。
图5是本申请的一个实施例电子设备的结构示意图。请参考图5,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成页面数据加载装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
处理器;以及
被安排成存储计算机可执行指令的存储器,该可执行指令在被执行时使该处理器执行以下操作:
按照应用中待显示的页面中的业务模块,在该页面的ExpandableListview对象中添加各业务模块对应的分组的组头;
分别向应用的业务服务器发送该页面中各第一类业务模块对应的业务数据请求,其中,该第一类业务模块为该页面中需要在页面打开阶段展示的业务模块;
将反馈的各第一类业务模块的业务数据,分别作为该ExpandableListview对象中各第一类业务模块对应的分组的子项添加,并展开显示各第一类业务模块对应的分组。
上述如本申请图3所示实施例揭示的应用或页面数据加载装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本申请实施例中,电子设备通过采用ExpandableListview组件加载数据,并在页面数据加载时,只向应用的业务服务器请求需要展示的分组的业务数据,从而能够减少出现OOM的概率,为用户提供更好的体验。
该电子设备还可执行图3的方法,并实现页面数据加载装置在图3所示实施例的功能,本申请实施例在此不再赘述。
当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图X所示实施例的方法。
图6是本申请的一个实施例页面数据加载装置600的结构示意图。请参考图6,在一种软件实施方式中,页面数据加载装置600可包括:分组添加单元610、数据请求单元620、子项添加单元630和显示单元640,其中
分组添加单元610,按照应用中待显示的页面中的业务模块,在该页面的ExpandableListview对象中添加各业务模块对应的分组的组头;
数据请求单元620,分别向应用的业务服务器发送该页面中各第一类业务模块对应的业务数据请求,其中,该第一类业务模块为该页面中需要在页面打开阶段展示的业务模块;
子项添加单元630,将反馈的各第一类业务模块的业务数据,分别作为该ExpandableListview对象中各第一类业务模块对应的分组的子项添加;
显示单元640,展开显示各第一类业务模块对应的分组。
本申请实施例中,页面数据加载装置600通过采用ExpandableListview组件加载数据,并在页面数据加载时,只向应用的业务服务器请求需要展示的分组的业务数据,从而能够减少出现OOM的概率,为用户提供更好的体验。
可选地,作为一个实施例,数据请求单元620还在第二类业务模块对应的分组第一次展开时,向应用的业务服务器发送该第二类业务模块对应的业务数据请求,其中,该第二类业务模块为该页面中不需要在页面打开阶段展示的业务模块;
子项添加单元630还将反馈的该第二类业务模块的业务数据,作为该ExpandableListview对象中该第二类业务模块对应的分组的子项添加;
显示单元640还展开显示该第二类业务模块对应的分组。
进一步地,显示单元640还在滚动显示业务模块对应的分组的子项时,将移出子项的显示View对象缓存到回收该应用所在的操作***的反复循环器Recycler中,该移出子项为该ExpandableListview对象中从显示状态移出屏幕视角的子项;重用该View对象作为移入项调用的getView中的convertView参数,以完成该移入子项的view对象的绘制,该移入子项为该ExpandableListview对象中移入屏幕视角的子项。
进一步地,显示单元640还在初次绘制第一子项时,将该第一子项的view对象的显示内容设置到该View对象的指定属性中,该第一子项为该ExpandableListview对象中任意一个组内的子项;在再次绘制该第一子项时,从该第一子项的view对象的指定属性中加载该第一子项的view对象的显示内容并完成该第一子项的view对象的绘制。
可选地,作为一个实施例,如果后续需要加载的页面中包括该ExpandableListview对象所展示的内容,则显示单元640可将该ExpandableListview对象直接作为该后续需要加载的页面中的对象。
可选地,作为一个实施例,分组添加单元610具体用于:当该ExpandableListview对象中第一业务模块对应的分组的组头不需要显示名称时,将透明细线作为第一业务模块对应的分组的组头添加到该ExpandableListview对象中。
可选地,作为一个实施例,如果该ExpandableListview对象中第一类业务模块对应的业务数据请求所请求的业务数据的数量大于该第一类业务模块在屏幕中所能展示的子项的个数,则子项添加单元630只在该第一类业务模块对应的分组中添加该第一类业务模块在屏幕中所能展示的子项。
进一步地,在本实施例中,显示单元640还在该第一类业务模块对应的分组中绘制用于展示更多业务数据的功能按钮。
页面数据加载装置600还可执行图3所示实施例中应用或页面数据加载装置执行的方法,本申请实施例在此不再赘述。
本申请实施例还提供了一种应用,该应用包括图5所示实施例中电子设备所存储的页面数据加载装置,或者包括图6所示实施例中页面数据加载装置。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,使得该电子设备执行以下操作:
按照应用中待显示的页面中的业务模块,在该页面的ExpandableListview对象中添加各业务模块对应的分组的组头;
分别向应用的业务服务器发送该页面中各第一类业务模块对应的业务数据请求,其中,该第一类业务模块为该页面中需要在页面打开阶段展示的业务模块;
将反馈的各第一类业务模块的业务数据,分别作为该ExpandableListview对象中各第一类业务模块对应的分组的子项添加,并展开显示各第一类业务模块对应的分组。
可选地,在本申请实施例中,该应用可包括股票类应用等页面加载超过一定数据量的业务数据的应用。
总之,以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

Claims (11)

1.一种页面数据加载方法,包括:
按照应用中待显示的页面中的业务模块,在所述页面的ExpandableListview对象中添加各业务模块对应的分组的组头;
分别向应用的业务服务器发送所述页面中各第一类业务模块对应的业务数据请求,其中,所述第一类业务模块为所述页面中需要在页面打开阶段展示的业务模块;
将反馈的各第一类业务模块的业务数据,分别作为所述ExpandableListview对象中各第一类业务模块对应的分组的子项添加,并展开显示各第一类业务模块对应的分组;其中,如果所述ExpandableListview对象中第一类业务模块对应的业务数据请求所请求的业务数据的数量大于所述第一类业务模块在屏幕中所能展示的子项的个数,则只在所述第一类业务模块对应的分组中添加所述第一类业务模块在屏幕中所能展示的子项,并进行绘制。
2.如权利要求1所述的方法,所述方法还包括:
在第二类业务模块对应的分组第一次展开时,向应用的业务服务器发送所述第二类业务模块对应的业务数据请求,其中,所述第二类业务模块为所述页面中不需要在页面打开阶段展示的业务模块;
将反馈的所述第二类业务模块的业务数据,作为所述ExpandableListview对象中所述第二类业务模块对应的分组的子项添加,并展开显示所述第二类业务模块对应的分组。
3.如权利要求1所述的方法,在滚动显示业务模块对应的分组的子项时,所述方法还包括:
将移出子项的显示View对象缓存到回收所述应用所在的操作***的反复循环器Recycler中,所述移出子项为所述ExpandableListview对象中从显示状态移出屏幕视角的子项;
重用所述View对象作为移入项调用的getView中的convertView参数,以完成所述移入子项的view对象的绘制,所述移入子项为所述ExpandableListview对象中移入屏幕视角的子项。
4.如权利要求1所述的方法,所述方法还包括:
在初次绘制第一子项时,将所述第一子项的view对象的显示内容设置到所述View对象的指定属性中,所述第一子项为所述ExpandableListview对象中任意一个组内的子项;
在再次绘制所述第一子项时,从所述第一子项的view对象的指定属性中加载所述第一子项的view对象的显示内容并完成所述第一子项的view对象的绘制。
5.如权利要求1所述的方法,所述方法还包括:
如果后续需要加载的页面中包括所述ExpandableListview对象所展示的内容,则将所述ExpandableListview对象直接作为所述后续需要加载的页面中的对象。
6.如权利要求1所述的方法,在所述页面的ExpandableListview对象中添加各业务模块对应的分组的组头包括:
当所述ExpandableListview对象中第一业务模块对应的分组的组头不需要显示名称时,将透明细线作为第一业务模块对应的分组的组头添加到所述ExpandableListview对象中。
7.如权利要求1所述的方法,将反馈的各第一类业务模块的业务数据,分别作为所述ExpandableListview对象中各第一类业务模块对应的分组的子项添加,并展开显示各第一类业务模块对应的分组还包括:
在所述第一类业务模块对应的分组中绘制用于展示更多业务数据的功能按钮。
8.一种页面数据加载装置,包括:
分组添加单元,按照应用中待显示的页面中的业务模块,在所述页面的ExpandableListview对象中添加各业务模块对应的分组的组头;
数据请求单元,分别向应用的业务服务器发送所述页面中各第一类业务模块对应的业务数据请求,其中,所述第一类业务模块为所述页面中需要在页面打开阶段展示的业务模块;
子项添加单元,将反馈的各第一类业务模块的业务数据,分别作为所述ExpandableListview对象中各第一类业务模块对应的分组的子项添加;
显示单元,展开显示各第一类业务模块对应的分组,其中,如果所述ExpandableListview对象中第一类业务模块对应的业务数据请求所请求的业务数据的数量大于所述第一类业务模块在屏幕中所能展示的子项的个数,则只在所述第一类业务模块对应的分组中添加所述第一类业务模块在屏幕中所能展示的子项,并进行绘制。
9.一种页面数据加载装置,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
按照应用中待显示的页面中的业务模块,在所述页面的ExpandableListview对象中添加各业务模块对应的分组的组头;
分别向应用的业务服务器发送所述页面中各第一类业务模块对应的业务数据请求,其中,所述第一类业务模块为所述页面中需要在页面打开阶段展示的业务模块;
将反馈的各第一类业务模块的业务数据,分别作为所述ExpandableListview对象中各第一类业务模块对应的分组的子项添加,并展开显示各第一类业务模块对应的分组,其中,如果所述ExpandableListview对象中第一类业务模块对应的业务数据请求所请求的业务数据的数量大于所述第一类业务模块在屏幕中所能展示的子项的个数,则只在所述第一类业务模块对应的分组中添加所述第一类业务模块在屏幕中所能展示的子项,并进行绘制。
10.一种应用,包括:
如权利要求8或9所述的页面数据加载装置。
11.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
按照应用中待显示的页面中的业务模块,在所述页面的ExpandableListview对象中添加各业务模块对应的分组的组头;
分别向应用的业务服务器发送所述页面中各第一类业务模块对应的业务数据请求,其中,所述第一类业务模块为所述页面中需要在页面打开阶段展示的业务模块;
将反馈的各第一类业务模块的业务数据,分别作为所述ExpandableListview对象中各第一类业务模块对应的分组的子项添加,并展开显示各第一类业务模块对应的分组,其中,如果所述ExpandableListview对象中第一类业务模块对应的业务数据请求所请求的业务数据的数量大于所述第一类业务模块在屏幕中所能展示的子项的个数,则只在所述第一类业务模块对应的分组中添加所述第一类业务模块在屏幕中所能展示的子项,并进行绘制。
CN201710264562.0A 2017-04-21 2017-04-21 移动终端中页面数据加载方法、装置和应用 Active CN107391163B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710264562.0A CN107391163B (zh) 2017-04-21 2017-04-21 移动终端中页面数据加载方法、装置和应用

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710264562.0A CN107391163B (zh) 2017-04-21 2017-04-21 移动终端中页面数据加载方法、装置和应用

Publications (2)

Publication Number Publication Date
CN107391163A CN107391163A (zh) 2017-11-24
CN107391163B true CN107391163B (zh) 2021-01-15

Family

ID=60337967

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710264562.0A Active CN107391163B (zh) 2017-04-21 2017-04-21 移动终端中页面数据加载方法、装置和应用

Country Status (1)

Country Link
CN (1) CN107391163B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108762871B (zh) * 2018-05-24 2021-03-19 青岛海信传媒网络技术有限公司 页面组件预加载方法、装置及显示终端
CN109101234B (zh) * 2018-07-05 2022-03-08 北京三快在线科技有限公司 确定页面与业务模块之间对应关系的方法及装置
CN111782304B (zh) * 2020-07-21 2024-04-02 深圳赛安特技术服务有限公司 分页加载数据逻辑控制方法、装置、计算机设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105512227A (zh) * 2015-11-30 2016-04-20 用友优普信息技术有限公司 网页数据加载方法及***
CN106528026A (zh) * 2016-11-29 2017-03-22 武汉斗鱼网络科技有限公司 文本显示方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130073568A1 (en) * 2011-09-21 2013-03-21 Vladimir Federov Ranking structured objects and actions on a social networking system
CN105608102B (zh) * 2015-10-12 2019-07-05 网易传媒科技(北京)有限公司 一种页面加载方法和设备
CN105630306A (zh) * 2015-12-24 2016-06-01 福建星海通信科技有限公司 一种基于安卓平台的多级树形菜单的实现方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105512227A (zh) * 2015-11-30 2016-04-20 用友优普信息技术有限公司 网页数据加载方法及***
CN106528026A (zh) * 2016-11-29 2017-03-22 武汉斗鱼网络科技有限公司 文本显示方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Android在开发中的实用技巧之ExpandableListView简单实现商品列表折叠;佚名;《https://github.com/zhanghangyes/ExpandableListView》;20170205;正文第1-11页 *
ExpandableListView使用,点击条目请求网络数据;佚名;《https://blog.csdn.net/shayubuhuifei/article/details/51454582 》;20160519;正文第1-2页 *

Also Published As

Publication number Publication date
CN107391163A (zh) 2017-11-24

Similar Documents

Publication Publication Date Title
TW201933875A (zh) 資訊展示方法和裝置
CN111639289A (zh) 一种网页加载方法及装置
WO2020007146A1 (zh) 程序的运行方法、装置、计算设备以及存储介质
JP2020504865A (ja) アプリケーションデータ処理方法、装置、及び記憶媒体
CN112667330B (zh) 一种页面显示方法及计算机设备
CN107391163B (zh) 移动终端中页面数据加载方法、装置和应用
CN107038194B (zh) 一种页面跳转方法和装置
CN110941500A (zh) 一种界面展示方法及装置
CN112364277A (zh) 一种网页加载方法及装置
CN105808307B (zh) 一种页面显示方法和装置
CN107807934B (zh) 页面显示方法和装置以及计算设备
US9754391B2 (en) Webpage display method and apparatus
CN106874326A (zh) 一种条目列表获取请求处理方法及装置
CN113672323A (zh) 一种页面展示的方法及装置
CN107632852B (zh) 信息更新方法及装置
CN107391534B (zh) 页面显示、页面文件返回方法及装置、计算机存储介质
CN110866208B (zh) 一种页面的响应式布局方法、装置及设备
CN109948084B (zh) 网页信息的展示方法、装置、介质及计算设备
CN109064105B (zh) 一种资源转移请求处理方法、装置及电子设备
CN110569460B (zh) 推送信息展示方法、装置及存储介质
CN111444448A (zh) 一种数据处理方法、服务器及***
CN113421144A (zh) 一种页面显示方法及装置、设备、存储介质
CN110750271B (zh) 服务聚合、聚合服务的执行方法、装置和电子设备
CN108984247B (zh) 一种信息展示方法及其终端设备和网络设备
CN110866203B (zh) 页面跳转方法、装置、设备及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1247306

Country of ref document: HK

TA01 Transfer of patent application right

Effective date of registration: 20200921

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200921

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant