CN109684000B - App数据显示方法、装置、设备及计算机可读存储介质 - Google Patents

App数据显示方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN109684000B
CN109684000B CN201811049652.9A CN201811049652A CN109684000B CN 109684000 B CN109684000 B CN 109684000B CN 201811049652 A CN201811049652 A CN 201811049652A CN 109684000 B CN109684000 B CN 109684000B
Authority
CN
China
Prior art keywords
data
rendering
displayed
app
preset
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
CN201811049652.9A
Other languages
English (en)
Other versions
CN109684000A (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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201811049652.9A priority Critical patent/CN109684000B/zh
Publication of CN109684000A publication Critical patent/CN109684000A/zh
Application granted granted Critical
Publication of CN109684000B publication Critical patent/CN109684000B/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/451Execution arrangements for user interfaces
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明提供一种APP数据显示方法、装置、设备及计算机可读存储介质,该方法包括:在检测到APP应用的预显示指令时,根据预显示指令将对应的待显示数据保存至内存中;获取***性能数据,基于所述***性能数据将所述内存中的待显示数据划分为对应页数;确定各页数据进行渲染的预设间隔时长,并根据所述预设间隔时长按照预设规则对对应页数的待显示数据进行渲染;显示渲染后的数据。本发明通过大数据分析***性能数据、用户习惯数据,实现应用终端以及用户阅读倾向的智能预测,可实现显示过程中更流畅的显示效果,提高用户浏览体验。

Description

APP数据显示方法、装置、设备及计算机可读存储介质
技术领域
本发明涉及数据显示技术领域,尤其涉及一种APP数据显示方法、装置、设备及计算机可读存储介质。
背景技术
设备的数据显示对设备用户体验有较大影响,其中,设备的数据显示速度对显示内容的流畅性具有较大影响,因此,如何提升设备显示时的数据加载速度成为当前亟需解决的技术问题。
现有技术中,APP应用有显示需求时,需从数据库或服务器中获取待显示数据传输到内存,再将内存中的待显示数据进行渲染,且在内存中的数据渲染是根据用户操作按需渲染的,每次都是在检测到用户需要时,再在内存中一条一条渲染显示数据,用户浏览过程中需要等待渲染完成,用户可以明显感知到一条一条的渲染显示效果,数据显示过程中显示过慢,不利于用户体验的流畅性。
发明内容
本发明的主要目的在于提供一种APP数据显示方法,旨在解决APP应用数据显示过程中显示过慢的技术问题。
为实现上述目的,本发明提供一种APP数据显示方法,其特征在于,所述APP数据显示方法包括以下步骤:
在检测到APP应用的预显示指令时,根据预显示指令将对应的待显示数据保存至内存中;
获取***性能数据,基于所述***性能数据将所述内存中的待显示数据划分为对应页数;
确定各页数据进行渲染的预设间隔时长,并根据所述预设间隔时长按照预设规则对对应页数的待显示数据进行渲染;
显示渲染后的数据。
可选地,所述确定各页数据进行渲染的预设间隔时长,并根据所述预设间隔时长按照预设规则对对应页数的待显示数据进行渲染的步骤包括:
获取预置的期望时长及其对应期望间隔时长,并获得历史渲染时长的数据;
在对每页待显示数据进行渲染之前,计算历史数据中距离当前时间最近的预设次渲染的平均渲染时长;
计算所述平均渲染时长和期望时长的比值,并根据所述比值和期望间隔时长确定各页数据进行渲染的对应预设间隔时长;
根据各页数据进行渲染的对应预设间隔时长对对应页数的待显示数据进行渲染。
可选地,所述APP数据显示方法还包括以下步骤:
在检测到预显示指令在内存中指向的待显示数据的更新信息时,获取该待显示数据更新后的新数据和该待显示数据中已进行数据渲染的旧数据;
将所述新数据与旧数据进行对比,确定所述新数据中与旧数据相同的第一数据和不相同的第二数据;
保留根据所述第一数据进行渲染得到渲染结果,将所述第二数据进行渲染并替换旧数据中与所述第二数据对应的数据。
可选地,所述在检测到APP应用的预显示指令时,根据预显示指令将对应的待显示数据保存至内存中的步骤包括:
在检测到APP应用的预显示指令时,从服务器或本地数据库中获取该预显示指令指向的待加载数据;
将所述待加载数据一次性全部加载到内存作为待显示数据。
所述从服务器或本地数据库中获取该预显示指令指向的待加载数据的步骤之后包括:
判断所述待加载数据的实际数据量是否大于预设数据量;
若所述实际数据量小于或等于预设数据量,则执行所述将所述待加载数据一次性全部加载到内存的步骤;
若所述实际数据量大于预设数据量,则获取实际数据量与预设数据量的比值,根据所述比值将所述待加载数据划分为对应部分,将各对应部分的所述待加载数据依次分时加载到内存。
可选地,所述在检测到APP应用的预显示指令时,根据预显示指令将对应的待显示数据保存至内存中的步骤之前,还包括:
当检测到数据获取请求时,获取该数据获取请求对应的目标数据;
获取用户习惯数据,并根据用户习惯数据和所述目标数据确定用户期待数据;
根据所述用户期待数据生成预显示指令。
可选地,所述根据预显示指令将对应的待显示数据保存至内存中的步骤和获取***性能数据,基于所述***性能数据将所述内存中的待显示数据划分为对应页数的步骤之间包括:
判断所述预显示指令的来源APP应用是否存在对应用户数据;
若所述来源APP应用不存在对应用户数据,则执行所述获取***性能数据的步骤;
若所述来源APP应用存在对应用户数据,则获取用户在APP应用各个界面的停留时长,确定APP应用开始显示第一个界面起的预设时长内用户浏览的所有界面;
根据所述所有界面确定内存中对应的初始待显示数据,将所述初始待显示数据进行渲染;
所述获取***性能数据,基于所述***性能数据将所述内存中的待显示数据划分为对应页数的步骤包括:
获取***性能数据,基于所述***性能数据将所述内存中剩余的待显示数据划分为对应页数。
此外,为实现上述目的,本发明还提供一种APP数据显示装置,所述APP数据显示装置包括:
数据获取模块,用于在检测到APP应用的预显示指令时,根据预显示指令将对应的待显示数据保存至内存中;
数据分页模块,用于获取***性能数据,基于所述***性能数据将所述内存中的待显示数据划分为对应页数;
渲染模块,用于确定各页数据进行渲染的预设间隔时长,并根据所述预设间隔时长按照预设规则对对应页数的待显示数据进行渲染;显示渲染后的数据。
此外,为实现上述目的,本发明还提供一种APP数据显示设备,所述APP数据显示设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的APP数据显示程序,其中所述APP数据显示程序被所述处理器执行时,实现如上述的APP数据显示方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有APP数据显示程序,其中所述APP数据显示程序被处理器执行时,实现如上述的APP数据显示方法的步骤。
本发明实施例通过将内存中待显示数据根据***性能进行分页,并分时将分页后的所述待显示数据依次进行数据渲染,以避免因为一次性渲染的待显示数据过多导致显示卡顿,可使得在用户浏览APP应用界面过程中,当用户停留在当前界面时,***同时进行后续界面对应待显示数据的渲染,则用户在想要浏览后续界面时,可直接浏览而无需等待后续界面渲染完成,可实现显示过程中更流畅的显示效果。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明APP数据显示方法第一实施例的流程示意图;
图3为本发明实施例中在检测到APP应用的预显示指令时,根据预显示指令将对应的待显示数据保存至内存中的步骤的细化流程示意图;
图4为本发明APP数据显示方法第二实施例的流程示意图;
图5为本发明APP数据显示装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例中,APP数据显示设备可以是PC,也可以是智能手机、平板电脑、便携计算机等具有显示功能的可移动式设备。
本发明实施例中,该APP数据显示设备可以包括处理器1001(例如CPU),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口);存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的硬件结构并不构成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
继续参照图1,图1中作为一种计算机可读存储介质的存储器1005可以包括操作***、网络通信模块以及APP数据显示程序。
在图1中,网络通信模块主要用于连接数据库,与数据库进行数据通信;而处理器1001可以调用存储器1005中存储的APP数据显示程序,实现如下述APP数据显示方法各实施例的步骤。
基于上述的APP数据显示设备硬件结构,提出本发明APP数据显示方法的各个实施例,在下文的实施例中,APP数据显示设备简称为应用设备。
本发明提供一种APP数据显示方法。
参照图2,图2为本发明APP数据显示方法第一实施例的流程示意图。
本实施例中,所述APP数据显示方法包括以下步骤:
步骤S10,在检测到APP应用的预显示指令时,根据预显示指令将对应的待显示数据保存至内存中;
在APP应用显示之前,应用设备根据APP应用的预显示指令从服务器和/或本地数据库中获取需加载保存到内存中的对应待显示数据。应注意的是,本文所称的“数据”为统称,包含了数据模板和数据内容,例如,本实施例中的待显示数据包括待加载的数据模板和数据内容。
为便于区分,将服务器和/或本地数据库中需加载到内存中的对应待显示数据称为待加载数据,将已保存在内存中的对应待显示数据直接称为待显示数据。
进一步地,因为数据显示包括将待加载数据从服务器或数据库加载到内存和将待显示数据从内存渲染到界面显示这两个阶段,所以,既可通过提升待加载数据的加载速度来提升APP数据显示速度,也可以通过提升待显示数据的渲染速度。
具体地,在APP应用的初始安装过程中,应用设备从服务器获取APP应用数据中的不变数据(如数据框架或数据模板),将该不变数据存储在本地数据库;在检测到APP应用的显示请求时(或检测到APP应用的预显示指令时),应用设备从本地数据库中将不变数据加载到内存,从服务器中获取待加载数据中不变数据以外的其他数据(如数据内容),将该其他数据加载到内存。在这一过程中,不需要再从服务器加载所有数据,减少了需要从服务器下载的数据量,提升了加载数据的速度。
进一步地,现有技术中,常常采用按需加载和按需渲染的方案,即应用设备在接收到基于用户操作触发的数据获取请求后,才进行加载和渲染,例如,用户滑动数据内容滑到屏幕底端时,常常可以看到“加载中...”这一提示,用户需要等待一段时间才可浏览下一页,这是因为设备通过检测用户滑动的位置来确定什么时候加载下一页,在用户滑动到靠近底端一定距离后才开始加载,这显然影响了用户体验。在接收到特定数据的获取请求后,设备需要先进行数据加载,再进行数据渲染,因而APP应用的最终数据显示速度既受数据加载速度的影响,又受数据渲染速度的影响。为降低这种影响,进一步提出一实施方式,
在本实施方式中,通过减少单次数据显示请求中的数据加载步骤,提升整体的APP应用数据显示速度。具体地,如图3所示,步骤S10包括:
步骤S11,在检测到APP应用的预显示指令时,从服务器或本地数据库中获取该预显示指令指向的待加载数据;
步骤S12,将所述待加载数据一次性全部加载到内存作为待显示数据。
本实施方式中,将待加载数据一次性全部加载到内存,则后续的数据显示过程,只需将已加载到内存中的待显示数据渲染显示即可。在后续的数据显示过程中,无需实时将待加载数据从服务器和/或本地数据库或其他位置加载到内存,因为省略了将待加载数据加载到内存的步骤,不需要考虑加载步骤所花费的时间,且只需执行渲染操作,无需进行加载操作,减少了加载过程对显示速度的影响,整体运行速率上升,只有在将待加载数据一次性全部加载到内存时,才需要用户等待一定时间,在将待加载数据一次性全部加载到内存后,用户可以获得较为流畅的浏览体验,所以,本实施方式显著提升了APP应用数据显示过程中的显示速度,可较为明显地提升用户体验。
进一步地,若是实际数据量过大,则一次性全部加载到内存可能会导致内存被占用太多,进而导致首次显示的等待时长过长,可能导致显示卡顿。为解决这一问题,步骤S12之前包括:
步骤S14,判断所述待加载数据的实际数据量是否大于预设数据量,其中,预设数据量根据***性能和/或当前内存利用率确定;可选地,预设数据量还可以根据渲染速度确定;
步骤S15,若所述实际数据量小于或等于预设数据量,则执行步骤S12;
步骤S16,若所述实际数据量大于预设数据量,则获取实际数据量与预设数据量的比值,根据所述比值将所述待加载数据划分为对应部分,将各对应部分的所述待加载数据依次分时加载到内存。
根据***性能和/或当前内存利用率和/或渲染速度确定的预设数据量,用于确保一次性加载到内存的待加载数据不至于导致应用设备出现长时间的卡顿。具体计算方式可以为:获取之前预设次数的平均渲染速度,获取预置的期望速度,计算所述平均渲染速度和期望速度的比值,根据该比值确定预设数据量。例如,当前预设数据量为3M,期望速度为每秒渲染20页,前两次平均渲染速度为每秒渲染40页,平均渲染速度和期望速度的比值为2/1,则预设数据量可以大于3M,可为6M;若前两次平均渲染速度位每秒渲染10页,平均渲染速度和期望速度的比值为1/2,则预设数据量应小于3M,可为1.5M。
若是实际数据量小于预设数据量,则将待加载数据一次性全部加载到内存并不会对显示速度造成太大影响,则可以直接加载。
若是实际数据量大于预设数据量,则为避免造成卡顿,可以将待加载数据分作几部分加载到内存。具体划分可根据实际数据量与预设数据量的比值确定,例如,实际数据量为12M,预设数据量为3M,比值为4,则将待加载数据分四次加载到内存,每一次加载3M。
步骤S20,获取***性能数据,基于所述***性能数据将所述内存中的待显示数据划分为对应页数;
不同性能的***,一次操作中可处理的数据量是不同的。为了避免因一次性处理大量数据而导致显示卡顿,本实施例中,根据***性能将所述内存中的待显示数据划分为对应页数,例如,当前的***性能决定一次操作处理1M数据可以保证显示不卡顿,则需要将5M的待显示数据划分为5页。
步骤S30,确定各页数据进行渲染的预设间隔时长,并根据所述预设间隔时长按照预设规则对对应页数的待显示数据进行渲染;
不同的***性能状态,内存运行速度不同,渲染速度不同,各页数据进行渲染的预设间隔时长不同。可通过统计本次渲染之前的每次渲染的速度,确定***性能,进而确定各页数据进行渲染的预设间隔时长。同一设备在不同时间下,性能状态可能不同,因此,各页数据进行渲染的预设间隔时长可以根据实时获得的***性能数据确定,使得数据渲染适应实时变化的设备环境。
可选地,本实施例中预设间隔时长可以是固定时间,即每隔固定时间间隔就从内存中渲染新页面例如,时间间隔为1秒,将待显示数据分为三页,第一页在第1秒渲染显示,第二秒在第2秒渲染显示,第三秒在第3秒渲染显示。其中,预设时间间隔的经验值为0.6秒。
可选地,可以根据应用设备的设备性能(如CPU性能)确定固定的预设时间间隔大小,也可以根据应用设备当前设备状态(如整体内存资源紧张与否)确定固定的预设时间间隔大小。
例如,共有5页待显示数据,预设间隔时长为1s,从第1页开始渲染,第1页渲染后经过1s开始渲染第2页,第2页渲染后经过1s开始渲染第3页,直至所有待显示数据渲染完成。
步骤S40,显示渲染后的数据。
可根据用户操作或预设显示规则,将已渲染的数据直接显示在屏幕,以供用户直接浏览。
本实施例通过在检测到APP应用的预显示指令时,根据预显示指令将对应的待显示数据保存至内存中;获取***性能数据,基于所述***性能数据将所述内存中的待显示数据划分为对应页数,确定数据渲染之间的预设间隔时长;将对应页数的所述内存中的待显示数据根据所述预设间隔时长依次进行渲染,并根据预设规则显示,实现对内存中待显示数据根据***性能的分页,并分时将分页后的所述待显示数据依次进行数据渲染,因为***进行数据渲染的时间是相对确定的,每隔预设间隔时长***就可以完成预设页待显示数据的渲染,可使得在用户浏览APP应用界面过程中,当用户停留在当前界面时,***同时进行后续界面对应页面的渲染,则用户在想要浏览后续界面时,即可直接浏览无需等待渲染,可实现显示过程中更流畅的显示效果。
进一步地,在本发明APP数据显示方法的实施例中,所述确定各页数据进行渲染的预设间隔时长,并根据所述预设间隔时长按照预设规则对对应页数的待显示数据进行渲染的步骤包括:
步骤S31,获取预置的期望时长及其对应期望间隔时长,并获得历史渲染时长的数据;
本发明可根据应用设备***资源状况或者性能状态动态调整预设间隔时长,因为同一设备在不同时间可能性能状态不同,所以,各页数据进行渲染的预设间隔时长可以根据实时获得的***性能数据确定。
预置的期望时长及其对应期望间隔时长指预先设置的、表征应用设备性能状态一对参数,***性能越差,渲染时间越长,各页数据进行渲染的预设间隔时长就越长,如,***状态a:期望时长a=500毫秒,期望间隔时长a=2000毫秒,***状态b:期望时长b=250毫秒,期望间隔时长a=1000毫秒,***状态a比***状态b性能差。
历史渲染指已完成的渲染,在进行渲染时,计时器同时记录每次渲染的时长。
步骤S32,在对每页待显示数据进行渲染之前,计算历史数据中距离当前时间最近的预设次渲染的平均渲染时长;
在对每页待显示数据进行渲染之前,需要确定什么时候开始进行该页数据的渲染,本实施例中,各页数据进行渲染的预设间隔时长为根据***性能变化的时长,因此,需要计算该页数据的渲染距上一次渲染的预设间隔时长。
本实施例中,由历史数据中距离当前时间最近的预设次渲染的平均渲染时长表征当前实际的***性能。以当前时刻为参考点,获取之前预设次渲染的时长,再计算该预设次渲染的平均渲染时长。这里的预设次由***默认设置。
步骤S33,计算所述平均渲染时长和期望时长的比值,并根据所述比值和期望间隔时长确定各页数据进行渲染的对应预设间隔时长;
平均渲染时长表征着当前实际的***性能,期望时长表征期望的***性能,则可以根据平均渲染时长和期望时长的比值,以及期望时长对应的期望间隔时长,确定各页数据进行渲染的对应预设间隔时长。
若是平均渲染时长大于期望时长,说明当前***性能差于期望***性能,则进行当前渲染距上一次渲染的预设间隔时长需降低,反之,若平均渲染时长小于期望时长,说明当前***性能优于期望***性能,则预设间隔时长需升高。
例如,期望每次渲染一页耗时500毫秒(期望时长),一页与另一页当前预设的时间间隔是2000毫秒。前两次耗时平均值是250毫秒(平均渲染时长),所述平均渲染时长和期望时长的比值为1/2,则说明***比预想的快一倍,则无需等待2000毫秒,只需要等待1000毫秒即可。如果前两次耗时平均值1000毫秒(平均渲染时长),所述平均渲染时长和期望时长的比值为2/1,则***较慢,需要等待更久的时间,4000毫秒。
步骤S34,根据各页数据进行渲染的对应预设间隔时长对对应页数的待显示数据进行渲染。
在确定当前页数据进行渲染预设间隔时长后,在上一次渲染完成后的预设间隔时长时,进行当前页数据的渲染。
若是当前即将发生的数据渲染次序小于预设次数,则直接获取当前即将发生的数据渲染之前所有数据渲染的平均渲染时长。例如,预设次数为3次,当前即将发生的数据渲染为第二次数据渲染(即首次渲染之后),则获取第一次渲染(即首次渲染)的平均渲染时长。
若检测到停止渲染指令,则停止渲染,其中,停止渲染指令可根据用户输入触发,也可以由应用设备根据预设场景触发
本实施例通过获取预置的期望时长及其对应期望间隔时长,并获得历史渲染时长的数据;在对每页待显示数据进行渲染之前,计算历史数据中距离当前时间最近的预设次渲染的平均渲染时长;计算所述平均渲染时长和期望时长的比值,并根据所述比值和期望间隔时长确定各页数据进行渲染的对应预设间隔时长;根据各页数据进行渲染的对应预设间隔时长对对应页数的待显示数据进行渲染,可实现根据***性能或内存资源占用情况进行各页数据进行渲染的预设间隔时长的确定,使得各页数据进行渲染的预设间隔时长随着***性能和内存资源占用情况的变化而变化,使得应用设备显示速度不因为***性能和内存资源占用情况的变化而发生较大改变,保证较好的用户体验。
进一步地,参照图4,在本发明APP数据显示方法的第二实施例中,所述APP数据显示方法还包括以下步骤:
步骤S40,在检测到预显示指令在内存中指向的待显示数据的更新信息时,获取该待显示数据更新后的新数据和该待显示数据中已进行数据渲染的旧数据;
内存中的待显示数据有更新时,需要基于内存中更新后的待显示数据更新界面显示内容。此时,待显示数据可能已全部渲染完成,也可能部分完成渲染、部分未完成渲染。若有部分未完成渲染,则暂停渲染,将新数据与旧数据进行对比。
本实施例中的新数据和旧数据均为原始的待显示数据,而非经过数据渲染后获得的显示元素,新数据即更新后的待显示数据,旧数据指更新前的待显示数据中、已完成数据渲染的数据。新数据和旧数据中的“数据”为统称,包括数据模板和数据内容。虽然待显示数据有更新,但不一定是所有数据都有变化,可能还保留一部分没有变化的待显示数据,为了减小应用设备显示时的工作量,可以复用旧数据中没有变化的待显示数据渲染获得的显示元素,减少重复渲染,也可提升显示速度。
步骤S41,将所述新数据与旧数据进行对比,确定所述新数据中与旧数据相同的第一数据和不相同的第二数据;
新数据中与旧数据相同的数据,即没有变化的部分数据,本实施例称之为第一数据,新数据中与旧数据不相同的数据,即有变化的部分数据,本实施例称之为第二数据,获取第一数据和第二数据,对第一数据和第二数据分别执行不同的操作。
步骤S42,保留根据所述第一数据进行渲染得到渲染结果,将所述第二数据进行渲染并替换旧数据中与所述第二数据对应的数据。
对于第一数据,因为待显示数据中的这一部分并没有变化,可以复用根据第一数据生成的第一显示元素,减少重复渲染工作。
对于第二数据,因为待显示数据中的这一部分发生了变化,对应到显示界面的显示内容也需要更新,因此,将第二数据进行渲染并替换旧数据中与所述第二数据对应的数据。具体而言,将根据第二数据生成的第二显示元素替换掉显示界面中原有的显示内容。
其中,若是新数据与旧数据全部相同,则直接复用根据旧数据生成的显示界面,若是数据内容不相同但数据模板相同,可以复用数据模板,仅仅更新数据内容。这两个都可以避免重新创建显示元素带来的不必要时间消耗。
本实施例中,通过将已完成数据渲染的旧数据和内存中更新后的新数据进行对比,其中,新数据中的重复数据(或称未更新数据)可直接复用已有的、根据旧数据生成的显示元素,不需要重新创建,新数据中的非重复数据(或称更新数据)则通过数据渲染,重新创建显示元素以实现显示内容的更新,减少了因更新显示内容造成的延时显示。
进一步地,在本发明APP数据显示方法的第三实施例中,所述在检测到APP应用的预显示指令时,根据预显示指令将对应的待显示数据保存至内存中的步骤之前,还包括以下步骤:
步骤S50,当检测到数据获取请求时,获取该数据获取请求对应的目标数据;
数据获取请求基于用户操作生成,如用户点击下一页,或者用户打开APP应用的点击操作。目标数据即数据获取请求包含的请求对象,例如,用户点击下一页的点击操作,基于该用户点击操作确定的目标数据为下一页的数据内容。
步骤S51,获取用户习惯数据,并根据用户习惯数据和所述目标数据确定用户期待数据;
用户使用APP应用,往往有其常用的功能或者其他使用习惯,如,近期非常流行的学习打卡,用户点击的路径是固定的,又例如,很多金融APP推出的每日签到或打卡抢红包等功能,用户使用这些APP应用,可能仅仅是使用其中一个或几个功能,其使用行为具有一定的惯性。因此,通过收集用户习惯数据,可以分析出用户使用某APP应用的习惯,再根据用户习惯,预测用户希望获得的数据(本实施例中称之为用户期待数据),再提前获得,如此,在用户确实希望获得用户期待数据时,可实现显示速度的极大提升。
根据用户习惯数据,确定:在用户获取了目标数据后,期望获得什么数据。以英语流利说这一APP应用的学习打卡功能为例:通过对用户使用该APP的行为分析,确定用户只使用该APP中的流利阅读板块,每天都获取流利阅读板块中学习的文章,则流利阅读板块中的文章为本实施例所述的用户期待数据,用户点击该APP时对应的目标数据是该APP的初始数据。
通过对用户操作的实时监控,实现对用户意图的预测,以为用户提供更好、更快的数据获取服务。
步骤S52,根据所述用户期待数据生成预显示指令。
预显示指令与数据获取请求不相同,预显示指令根据数据获取请求生成,数据获取请求对应目标数据,要生成预显示指令,还需要根据目标数据确定用户期待数据,以实现对用户期待数据的提前获取与提前渲染。
本实施例通过在检测到数据获取请求时,获取该数据获取请求对应的目标数据;获取用户习惯数据,并根据用户习惯数据和所述目标数据确定用户期待数据;根据所述用户期待数据生成预显示指令,使得设备可以通过大数据技术分析用户习惯数据以预测用户可能期望获得的数据内容,实现用户阅读倾向的智能预测,并提前加载并渲染,以实现数据显示速度的提升。
进一步地,基于上述实施例,在本发明APP数据显示方法的第五实施例中,所述根据预显示指令将对应的待显示数据保存至内存中的步骤和获取***性能数据,基于所述***性能数据将所述内存中的待显示数据划分为对应页数的步骤之间包括:
步骤S60,判断所述预显示指令的来源APP应用是否存在对应用户数据;
用户数据指用户使用来源APP应用的习惯数据,用户数据至少包括用户打开的页面、用户在每一个页面上停留的时长,还可以包括用户打开每一个页面的时刻,页面与页面之间的切换速率。用户刚开始使用某一APP应用时,并没有用户使用APP应用的习惯数据,即没有用户使用该APP应用的用户数据。对于用户使用多次的APP应用,则可以收集到较多的用户使用数据,即可存储用户数据。
步骤S61,若所述来源APP应用不存在对应用户数据,则执行步骤S20所述的步骤;
如果来源APP应用不存在对应用户数据,则可以根据预置的渲染规则进行数据渲染,本实施例中预置的渲染规则即执行步骤S20所述的步骤。
步骤S62,若所述来源APP应用存在对应用户数据,则获取用户在APP应用各个界面的停留时长,确定APP应用开始显示第一个界面起的预设时长内用户浏览的所有界面;根据所述所有界面确定内存中对应的初始待显示数据,将所述初始待显示数据进行渲染;
如果来源APP应用存在对应用户数据,则为了提升用户的综合体验,根据用户数据确定首次渲染的数据量(页数量)。在用户首次打开APP应用时,用户能明显感知到需要等待一定时长,在首次渲染完成后,又存在两种情况,一:用户在首次渲染出的所有界面总的停留时间足够长,应用设备已完成下一次渲染,例如,用户在浏览第1页的过程中,应用设备正进行第2页的渲染,在用户浏览完第1页时,应用设备已完成第2页的渲染,用户直接可浏览第2页;二:用户在首次渲染出的所有界面总的停留时间过短,应用设备未完成下一次渲染。对于第一种情况,用户只有在首次打开APP应用时,会感知渲染过程,等待一段时间;对于第二种情况,用户既能感知到首次打开APP应用时的渲染过程,又能感知到下一次渲染过程。
对于第一种情况,本实施例可以通过控制首次渲染的数据量,以减少用户等待时长,这里控制首次渲染的数据量指:用户在这些数据渲染后的界面停留的时长,足够下一次渲染的完成。例如,下一次数据渲染需要3s,若用户在第一页停留5s,则首次渲染可以只渲染第一页;若用户在第一页停留1s,在第二页停留1s,在第三页停留1s,则首次渲染需要渲染第一页、第二页和第三页。
对于第二种情况,本实施例通过增加首次渲染的数据量,以保证在用户浏览首次渲染的界面时,完成下一次渲染。例如,下一次数据渲染需要3s,则首次渲染的数据量需要保证用户停留时长大于等于3s。
举例而言,若是用户打开应用1的第一个界面,停留时长为5s,则首次渲染可以先加载第一个界面对应页的待显示数据,在用户停留在第一个界面时,继续渲染后续页面,则既可以不需要用户等待太久,又可以在用户未察觉时渲染后续的待显示数据。
预设时长可以为预估的、下一次渲染所需的时长。
所述获取***性能数据,基于所述***性能数据将所述内存中的待显示数据划分为对应页数的步骤包括:
步骤S63,获取***性能数据,基于所述***性能数据将所述内存中剩余的待显示数据划分为对应页数。
在将首次渲染的数据量确定后,可将剩余的待显示数据根据***性能数据进行分页。
将初始页面对应待显示数据进行渲染,将初始页面显示出来,因为用户在初始页面上停留的时长足够下一次数据渲染完成,可减少用户等待下一次数据渲染的时长。
本实施例中基于用户习惯预测用户在各页的停留时长,并根据用户在各页的停留时长和下一次渲染时长确定首次渲染的数据量,可以根据用户习惯灵活确定首次渲染的数据量,为用户提供更快、更好的显示。
此外,本发明还提供一种APP数据显示装置,所述APP数据显示装置实现上述任一项所述的APP数据显示方法的步骤。
本发明APP数据显示装置具体实施方式与上述APP数据显示方法各实施例基本相同,具体地,参照图5,图5为本发明APP数据显示装置第一实施例的功能模块示意图。
本实施例中,所述APP数据显示装置包括:
数据获取模块10,用于在检测到APP应用的预显示指令时,根据预显示指令将对应的待显示数据保存至内存中;
数据分页模块20,用于获取***性能数据,基于所述***性能数据将所述内存中的待显示数据划分为对应页数;
渲染模块30,用于确定各页数据进行渲染的预设间隔时长,并根据所述预设间隔时长按照预设规则对对应页数的待显示数据进行渲染;显示渲染后的数据。
进一步的,所述APP数据显示装置还包括:
间隔时长计算模块,用于获取预置的期望时长及其对应期望间隔时长,并获得历史渲染时长的数据;在对每页待显示数据进行渲染之前,计算历史数据中距离当前时间最近的预设次渲染的平均渲染时长;计算所述平均渲染时长和期望时长的比值,并根据所述比值和期望间隔时长确定各页数据进行渲染的对应预设间隔时长;
所述数据渲染模块,还用于根据各页数据进行渲染的对应预设间隔时长对对应页数的待显示数据进行渲染。
进一步的,所述APP数据显示装置还包括:
所述数据获取模块,还用于在检测到预显示指令在内存中指向的待显示数据的更新信息时,获取该待显示数据更新后的新数据和该待显示数据中已进行数据渲染的旧数据;
对比模块,用于将所述新数据与旧数据进行对比,确定所述新数据中与旧数据相同的第一数据和不相同的第二数据;
所述数据渲染模块,还用于保留根据所述第一数据进行渲染得到渲染结果,将所述第二数据进行渲染并替换旧数据中与所述第二数据对应的数据。
进一步的,所述APP数据显示装置还包括:
数据获取模块,还用于在检测到APP应用的预显示指令时,从服务器或本地数据库中获取该预显示指令指向的待加载数据;
数据加载模块,用于将所述待加载数据一次性全部加载到内存作为待显示数据。
进一步的,所述APP数据显示装置还包括:
进一步的,所述APP数据显示装置还包括:
第一判断模块,用于判断所述待加载数据的实际数据量是否大于预设数据量;
所述数据加载模块,用于若所述实际数据量小于或等于预设数据量,则执行所述将所述待加载数据一次性全部加载到内存的步骤;
若所述实际数据量大于预设数据量,则获取实际数据量与预设数据量的比值,根据所述比值将所述待加载数据划分为对应部分,将各对应部分的所述待加载数据依次分时加载到内存。
进一步的,所述APP数据显示装置还包括:
数据预测模块,用于当检测到数据获取请求时,获取该数据获取请求对应的目标数据;获取用户习惯数据,并根据用户习惯数据和所述目标数据确定用户期待数据;
预显示指令生成模块,用于根据所述用户期待数据生成预显示指令。
进一步的,所述APP数据显示装置还包括:
第二判断模块,用于判断所述预显示指令的来源APP应用是否存在对应用户数据;
所述数据渲染模块,还用于若所述来源APP应用不存在对应用户数据,则执行所述获取***性能数据的步骤;若所述来源APP应用存在对应用户数据,则获取用户在APP应用各个界面的停留时长,确定APP应用开始显示第一个界面起的预设时长内用户浏览的所有界面;根据所述所有界面确定内存中对应的初始待显示数据,将所述初始待显示数据进行渲染;所述获取***性能数据,基于所述***性能数据将所述内存中的待显示数据划分为对应页数的步骤包括:获取***性能数据,基于所述***性能数据将所述内存中剩余的待显示数据划分为对应页数。
此外,本发明还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有APP数据显示程序,其中所述APP数据显示程序被处理器执行时,实现如上述的APP数据显示方法的步骤。
其中,APP数据显示程序被执行时所实现的方法可参照本发明APP数据显示方法的各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (9)

1.一种APP数据显示方法,其特征在于,所述APP数据显示方法包括以下步骤:
在检测到APP应用的预显示指令时,根据预显示指令将对应的待显示数据保存至内存中;
获取***性能数据,基于所述***性能数据将所述内存中的待显示数据划分为对应页数;
确定各页数据进行渲染的预设间隔时长,并根据所述预设间隔时长按照预设规则对对应页数的待显示数据进行渲染;
显示渲染后的数据;
所述确定各页数据进行渲染的预设间隔时长,并根据所述预设间隔时长按照预设规则对对应页数的待显示数据进行渲染的步骤包括:
获取预置的期望时长及其对应期望间隔时长,并获得历史渲染时长的数据;
在对每页待显示数据进行渲染之前,计算历史数据中距离当前时间最近的预设次渲染的平均渲染时长;
计算所述平均渲染时长和期望时长的比值,并根据所述比值和期望间隔时长确定各页数据进行渲染的对应预设间隔时长;
根据各页数据进行渲染的对应预设间隔时长对对应页数的待显示数据进行渲染。
2.如权利要求1所述的APP数据显示方法,其特征在于,所述APP数据显示方法还包括以下步骤:
在检测到预显示指令在内存中指向的待显示数据的更新信息时,获取该待显示数据更新后的新数据和该待显示数据中已进行数据渲染的旧数据;
将所述新数据与旧数据进行对比,确定所述新数据中与旧数据相同的第一数据和不相同的第二数据;
保留根据所述第一数据进行渲染得到的渲染结果,将所述第二数据进行渲染并替换旧数据中与所述第二数据对应的数据。
3.如权利要求1所述的APP数据显示方法,其特征在于,所述在检测到APP应用的预显示指令时,根据预显示指令将对应的待显示数据保存至内存中的步骤包括:
在检测到APP应用的预显示指令时,从服务器或本地数据库中获取该预显示指令指向的待加载数据;
将所述待加载数据一次性全部加载到内存作为待显示数据。
4.如权利要求3所述的APP数据显示方法,其特征在于,所述从服务器或本地数据库中获取该预显示指令指向的待加载数据的步骤之后包括:
判断所述待加载数据的实际数据量是否大于预设数据量;
若所述实际数据量小于或等于预设数据量,则执行所述将所述待加载数据一次性全部加载到内存的步骤;
若所述实际数据量大于预设数据量,则获取实际数据量与预设数据量的比值,根据所述比值将所述待加载数据划分为对应部分,将各对应部分的所述待加载数据依次分时加载到内存。
5.如权利要求1所述的APP数据显示方法,其特征在于,所述在检测到APP应用的预显示指令时,根据预显示指令将对应的待显示数据保存至内存中的步骤之前,还包括:
当检测到数据获取请求时,获取该数据获取请求对应的目标数据;
获取用户习惯数据,并根据用户习惯数据和所述目标数据确定用户期待数据;
根据所述用户期待数据生成预显示指令。
6.如权利要求1至5任意一项所述的APP数据显示方法,其特征在于,所述根据预显示指令将对应的待显示数据保存至内存中的步骤和获取***性能数据,基于所述***性能数据将所述内存中的待显示数据划分为对应页数的步骤之间包括:
判断所述预显示指令的来源APP应用是否存在对应用户数据;
若所述来源APP应用不存在对应用户数据,则执行所述获取***性能数据的步骤;
若所述来源APP应用存在对应用户数据,则获取用户在APP应用各个界面的停留时长,确定APP应用开始显示第一个界面起的预设时长内用户浏览的所有界面;
根据所述所有界面确定内存中对应的初始待显示数据,将所述初始待显示数据进行渲染;
所述获取***性能数据,基于所述***性能数据将所述内存中的待显示数据划分为对应页数的步骤包括:
获取***性能数据,基于所述***性能数据将所述内存中剩余的待显示数据划分为对应页数。
7.一种APP数据显示装置,其特征在于,所述APP数据显示装置包括:
数据获取模块,用于在检测到APP应用的预显示指令时,根据预显示指令将对应的待显示数据保存至内存中;
数据分页模块,用于获取***性能数据,基于所述***性能数据将所述内存中的待显示数据划分为对应页数;
渲染模块,用于确定各页数据进行渲染的预设间隔时长,并根据所述预设间隔时长按照预设规则对对应页数的待显示数据进行渲染;显示渲染后的数据;
所述渲染模块,还用于获取预置的期望时长及其对应期望间隔时长,并获得历史渲染时长的数据;在对每页待显示数据进行渲染之前,计算历史数据中距离当前时间最近的预设次渲染的平均渲染时长;计算所述平均渲染时长和期望时长的比值,并根据所述比值和期望间隔时长确定各页数据进行渲染的对应预设间隔时长;根据各页数据进行渲染的对应预设间隔时长对对应页数的待显示数据进行渲染。
8.一种APP数据显示设备,其特征在于,所述APP数据显示设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的APP数据显示程序,其中所述APP数据显示程序被所述处理器执行时,实现如权利要求1至6中任一项所述的APP数据显示方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有APP数据显示程序,其中所述APP数据显示程序被处理器执行时,实现如权利要求1至6中任一项所述的APP数据显示方法的步骤。
CN201811049652.9A 2018-09-07 2018-09-07 App数据显示方法、装置、设备及计算机可读存储介质 Active CN109684000B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811049652.9A CN109684000B (zh) 2018-09-07 2018-09-07 App数据显示方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811049652.9A CN109684000B (zh) 2018-09-07 2018-09-07 App数据显示方法、装置、设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN109684000A CN109684000A (zh) 2019-04-26
CN109684000B true CN109684000B (zh) 2023-04-11

Family

ID=66184510

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811049652.9A Active CN109684000B (zh) 2018-09-07 2018-09-07 App数据显示方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN109684000B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110209447B (zh) * 2019-04-28 2023-02-28 五八有限公司 一种列表页数据显示方法以及列表页数据显示装置
CN110704275B (zh) * 2019-09-09 2021-03-19 北京房江湖科技有限公司 终端app的标记数量显示方法、装置、存储介质及处理器
CN113835790B (zh) * 2020-06-23 2024-03-19 北京字节跳动网络技术有限公司 基于Android的分页页面显示方法和装置
CN113190612B (zh) * 2021-07-01 2021-10-26 武汉华信数据***有限公司 用于人机交互***的数据管理方法及数据管理装置
CN116778079B (zh) * 2023-05-26 2024-05-17 上海兴岩信息科技有限公司 一种三维可视化生产管理方法及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102810101A (zh) * 2011-06-03 2012-12-05 北京搜狗科技发展有限公司 一种网页预读取的方法、装置及一种浏览器
CN107590275A (zh) * 2017-09-27 2018-01-16 北京奇虎科技有限公司 一种数据查询方法和装置
CN108170497A (zh) * 2016-12-05 2018-06-15 阿里巴巴集团控股有限公司 一种页面渲染的方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892638B2 (en) * 2012-05-10 2014-11-18 Microsoft Corporation Predicting and retrieving data for preloading on client device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102810101A (zh) * 2011-06-03 2012-12-05 北京搜狗科技发展有限公司 一种网页预读取的方法、装置及一种浏览器
CN108170497A (zh) * 2016-12-05 2018-06-15 阿里巴巴集团控股有限公司 一种页面渲染的方法及装置
CN107590275A (zh) * 2017-09-27 2018-01-16 北京奇虎科技有限公司 一种数据查询方法和装置

Also Published As

Publication number Publication date
CN109684000A (zh) 2019-04-26

Similar Documents

Publication Publication Date Title
CN109684000B (zh) App数据显示方法、装置、设备及计算机可读存储介质
CN111045814B (zh) 资源调度方法和终端设备
CN112905326B (zh) 任务处理方法及装置
CN110389834B (zh) 一种用于提交深度学习训练任务的方法和装置
CN108509272B (zh) 将gpu显存纹理拷贝到***内存的方法、装置及电子设备
CN109445884B (zh) 一种功能标签展示方法及终端设备
CN104299186A (zh) 一种对图片进行马赛克处理的方法及装置
US10768947B2 (en) Method for interface refresh synchronization,terminal device, and non-transitory computer-readable storage medium
CN111444158A (zh) 长短期用户画像生成方法、装置、设备及可读存储介质
CN112578953B (zh) 应用于终端界面的显示控制方法及装置
CN113778430A (zh) 小程序的数据渲染方法、装置、设备及存储介质
CN111724455A (zh) 图像处理方法及电子设备
KR101345726B1 (ko) 웹페이지 캡쳐 화면 인쇄 방법
CN115827060A (zh) 一种应用适配方法、装置、设备和存储介质
CN110597585A (zh) 应用程序页面展示方法、装置、计算机设备及存储介质
CN115617518A (zh) 线程管理方法、装置、电子设备及存储介质
CN113051005B (zh) 一种加载方法及装置
CN106326001B (zh) 一种信息处理方法及电子设备
CN110007907B (zh) 一种动画执行方法及装置
CN108228307B (zh) 应用的显示方法、装置、存储介质及电子设备
CN108459858B (zh) 一种应用程序的功能调整方法、装置、设备及存储介质
CN110908866A (zh) 软件监控方法及相关设备
CN108280113B (zh) Service Worker控制方法、装置及电子终端
CN111638927A (zh) 一种皮肤切换方法及装置
CN110851200A (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
GR01 Patent grant
GR01 Patent grant