CN109558187A - 一种用户界面渲染方法及装置 - Google Patents

一种用户界面渲染方法及装置 Download PDF

Info

Publication number
CN109558187A
CN109558187A CN201710892305.1A CN201710892305A CN109558187A CN 109558187 A CN109558187 A CN 109558187A CN 201710892305 A CN201710892305 A CN 201710892305A CN 109558187 A CN109558187 A CN 109558187A
Authority
CN
China
Prior art keywords
command set
user interface
storage
rendering
rendered
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.)
Granted
Application number
CN201710892305.1A
Other languages
English (en)
Other versions
CN109558187B (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.)
Banma Zhixing Network Hongkong Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201710892305.1A priority Critical patent/CN109558187B/zh
Priority to PCT/CN2018/106437 priority patent/WO2019062615A1/zh
Publication of CN109558187A publication Critical patent/CN109558187A/zh
Application granted granted Critical
Publication of CN109558187B publication Critical patent/CN109558187B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

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)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种用户界面渲染方法及装置。本申请中,确定待渲染的用户界面;获取存储的命令集,所述命令集包括与渲染所述用户界面相关联的命令,所述命令集是基于所述用户界面的历史渲染操作确定的;至少根据所述存储的命令集渲染所述用户界面。采用本申请可提高用户界面渲染效率。

Description

一种用户界面渲染方法及装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种用户界面渲染方法及装置。
背景技术
用户界面(user interface,UI)的渲染通常情况下需要经过应用的逻辑执行、框架层的逻辑执行以及布局等操作生成用户界面渲染命令,再通过渲染引擎执行用户界面渲染命令以对用户界面进行渲染,该过程耗时较长。
为了提高用户感受,目前的一种解决方法是:先展示预先设置的图片,并在后台进行用户界面的渲染;待用户界面渲染完成后,用渲染得到的用户界面替换该图片。
展示预先设置的图片的过程耗时较短,能够给用户一种应用程序响应迅速的感觉。虽然可以在较短时间内向用户显示内容,而不必等到生成用户界面渲染命令并执行该命令进行用户界面渲染完成后才显示,但是在用户界面渲染完成之前显示的内容并不是实际的用户界面,该预先实现的图片与实际的用户界面往往存在差异。
因此,如何提高用户界面的渲染效率,是目前需要解决的问题。
发明内容
本申请实施例公开了一种用户界面渲染方法及装置,以提高用户界面渲染效率。
第一方面,提供一种用户界面渲染方法,包括:
确定待渲染的用户界面;
获取存储的命令集,所述命令集包括与渲染所述用户界面相关联的命令,所述命令集是基于所述用户界面的历史渲染操作确定的;
至少根据所述存储的命令集,渲染所述用户界面。
可选地,若未存储有所述命令集,则所述方法还包括:
生成命令集,所述命令集包括与渲染所述用户界面相关联的命令;
存储所述生成的命令集;
根据所述生成的命令集渲染所述用户界面。
可选地,所述方法还包括:
生成命令集,所述命令集包括与渲染所述用户界面相关联的命令;
判断所述生成的命令集与所述存储的命令集是否一致;
若不一致,则清除根据所述存储的命令集生成的用户界面,并根据所述生成的命令集渲染所述用户界面。
可选地,所述方法还包括:删除所述存储的命令集,并保存所述生成的命令集。
可选地,通过第一线程执行所述根据所述存储的命令集渲染所述用户界面的步骤,通过第二线程执行所述生成用于渲染所述用户界面的命令集的步骤,所述第一线程和所述第二线程并行执行。
可选地,所述方法还包括:在所述用户界面发生改变时,根据所述用户界面的变化,修改存储的命令集中包括的与渲染所述用户界面相关联的命令;保存修改后的命令集。
可选地,所述在所述用户界面发生改变时,根据所述用户界面的变化,修改存储的命令集中包括的与渲染所述用户界面相关联的命令,包括:
根据所述用户界面的变更事件,获取所述变更事件对应的信息;
根据获取的所述变更事件对应的信息,修改存储的命令集中与渲染所述用户界面相关联的命令。
可选地,所述用户界面的更新事件,包括:用户登录事件或所述用户界面的属性发生变更的事件。
可选地,所述方法还包括:获取用户界面设置信息;
根据所述存储的命令集渲染所述用户界面,包括:
根据所述存储的命令集以及所述用户界面设置信息,渲染所述用户界面。
可选地,所述方法还包括:接收用户界面设置指令,所述用户界面设置指令用于请求设置或更新所述用户界面设置信息;根据所述用户界面设置指令,设置或更新所述用户界面设置信息。
可选地,所述用户界面设置信息包括以下信息之一或任意组合:
用户界面的显示时间长度;
用户界面的显示方式;
用户界面上,除所述用户界面所属的应用程序定义的显示内容以外的显示内容。
其中,所述除所述用户界面所属的应用程序定义的显示内容以外的显示内容,包括:文本、图片、控件中的一种或多种。
可选地,所述方法还包括:
获取存储的命令集后,确定所述命令集的存储时间长度;
若所述命令集的存储时间长度大于设定阈值,则清除所述命令集;
生成命令集并保存,根据所述生成的命令集渲染所述用户界面,所述命令集包括与渲染所述用户界面相关联的命令。
可选地,所述方法还包括:
获取存储的命令集后,根据所述命令集对应的应用程序版本判断与所述应用程序的当前版本是否一致;其中,所述命令集对应的应用程序版本为存储所述命令集时记录的所述应用程序的版本;
若两者不一致,则清除所述命令集;
生成用于渲染所述用户界面的命令集并保存,根据所述生成的命令集渲染所述用户界面。
可选地,所述方法还包括:
若操作系统版本进行了更新,则清除所述存储的命令集;和/或,
若所述用户界面所属的应用程序进行了更新,则清除所述存储的命令集。
第二方面,提供一种用户界面渲染装置,包括:
确定模块,确定待渲染的用户界面;
处理模块,获取存储的命令集,所述命令集包括与渲染所述用户界面相关联的命令,所述命令集是基于所述用户界面的历史渲染操作确定的;
渲染模块,至少根据所述存储的命令集渲染所述用户界面。
可选地,所述装置还包括:生成模块;
所述生成模块,生成命令集,所述命令集包括与渲染所述用户界面相关联的命令;
所述处理模块,存储所述生成的命令集;
所述渲染模块,在未存储有所述命令集的情况下,根据所述生成的命令集渲染所述用户界面。
可选地,所述装置还包括:生成模块;
所述生成模块,生成命令集,所述命令集包括与渲染所述用户界面相关联的命令;
所述处理模块,判断所述生成的命令集与所述存储的命令集是否一致;若不一致,则清除根据所述存储的命令集生成的用户界面;
所述渲染模块,根据所述生成的命令集渲染所述用户界面。
可选地,所述处理模块,删除所述存储的命令集,并保存所述生成的命令集。
可选地,所述处理模块,在所述用户界面发生改变时,根据所述用户界面的变化,修改存储的命令集中与渲染所述用户界面相关联的命令,保存修改后的命令集。
可选地,所述处理模块,根据所述用户界面的变更事件,获取所述变更事件对应的信息;根据获取的所述变更事件对应的信息,修改存储的命令集中包括的与渲染所述用户界面相关联的命令。
可选地,所述用户界面的更新事件,包括:用户登录事件或所述用户界面的属性发生变更的事件。
可选地,所述处理模块,获取用户界面设置信息;所述渲染模块,根据所述存储的命令集以及所述用户界面设置信息,渲染所述用户界面。
可选地,所述装置还包括:设置模块;所述设置模块,接收用户界面设置指令,所述用户界面设置指令用于请求设置或更新所述用户界面设置信息;根据所述用户界面设置指令,设置或更新所述用户界面设置信息。
可选地,所述用户界面设置信息包括以下信息之一或任意组合:
用户界面的显示时间长度;
用户界面的显示方式;
用户界面上,除所述用户界面所属的应用程序定义的显示内容以外的显示内容。
可选地,所述除所述用户界面所属的应用程序定义的显示内容以外的显示内容,包括:文本、图片、控件中的一种或多种。
可选地,所述装置还包括:生成模块;
所述生成模块,生成命令集,所述命令集包括与渲染所述用户界面相关联的命令;
所述处理模块,获取存储的命令集后,确定所述命令集的存储时间长度;若所述命令集的存储时间长度大于设定阈值,则清除所述命令集,保存生成的命令集;
所述渲染模块,根据所述生成的命令集渲染所述用户界面。
可选地,所述装置还包括:生成模块;
所述生成模块,生成命令集,所述命令集包括与渲染所述用户界面相关联的命令;
所述处理模块,获取存储的命令集后,根据所述命令集对应的应用程序版本判断与所述应用程序的当前版本是否一致,若两者不一致,则清除所述命令集,保存生成的命令集;其中,所述命令集对应的应用程序版本为存储所述命令集时记录的所述应用程序的版本;
所述渲染模块,根据所述生成的命令集渲染所述用户界面。
可选地,所述处理模块,若操作系统版本进行了更新,则清除所述存储的命令集;和/或,若所述用户界面所属的应用程序进行了更新,则清除所述存储的命令集。
第三方面,提供一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被一个或多个处理器执行时,使得通信设备执行上述第一方面中任一项所述的方法。
第四方面,提供一种装置,包括:一个或多个处理器;以及,一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述装置执行上述第一方面中任一项所述的方法。
第五方面,提供一种渲染引擎,包括:
命令读取程序,用于获取存储的命令集,所述命令集包括与渲染用户界面相关联的命令;
渲染程序,用于至少根据所述命令读取程序读取的命令集渲染所述用户界面。
第六方面,提供一种操作系统,包括:
存储模块,用于存储命令集,所述命令集包括与渲染用户界面相关联的命令;
渲染引擎,用于读取所述存储模块存储的命令集,并至少根据读取的所述命令集,渲染所述用户界面。
第六方面,提供一种用户界面渲染方法,包括:
获取存储的命令集,所述命令集包括与待渲染的用户界面相关联的命令;
至少根据所述存储的命令集,渲染所述用户界面。
本申请的上述实施例中,对于待渲染的用户界面,可获取存储的包括与渲染所述用户界面相关联的命令的命令集,并可根据获取到的命令集渲染该用户界面,其中,该命令集是基于该用户界面的历史渲染操作确定的。这样,在需要显示用户界面时,可根据之前存储的命令集进行用户界面渲染,而不必等到生成用户界面渲染命令后,再根据生成的命令进行用户界面的渲染,因而一方面,使得所渲染得到的用户界面为应用程序实际的用户界面,另一方面,由于可以不必等到生成用户界面渲染命令并根据该命令进行用户界面渲染,因而可以提高用户界面渲染效率。
附图说明
本申请的实施例通过示例而非限制的方式示出在所附附图中,类似的附图标记表示类似的元素。
图1示例性地示出了本申请实施例提高的用户界面渲染架构示意图;
图2示例性地示出了本申请实施例提供的用户界面渲染流程示意图;
图3示例性地示出了本申请实施例提供的应用程序首次启动时的用户界面渲染流程示意图;
图4示例性地示出了本申请实施例提供的应用程序后续启动时的用户界面渲染流程示意图;
图5示例性地示出了本申请实施例提供的用户界面渲染装置结构示意图;
图6示例性地示出了本申请实施例提供的装置的结构示意图。
具体实施方式
虽然本申请的概念易于进行各种修改和替代形式,但是其具体实施例已经通过附图中的示例示出并且将在本文中详细描述。然而,应当理解,没有意图将本申请的概念限制为所公开的特定形式,而是相反,意图是覆盖与本申请以及所附权利要求一致的所有修改、等同物和替代物。
说明书中对“一个实施例”、“实施例”、“说明性实施例”等的引用,指示所描述的实施例可包括特定特征、结构或特性,但是每个实施例可以或可以不必包括特定特征、结构或特性。此外,这样的短语不一定指的是相同的实施例。进一步地,认为在本领域技术人员的知识范围内,当结合实施例描述特定特征、结构或特性时,结合无论是否明确描述的其它实施例影响这样的特征,结构或特性。另外,应当理解,以“A,B和C中的至少一个”的形式包括在列表中的项目可以表示(A);(B);(C);(A和B);(A和C);(B和C);或(A,B和C)。类似地,以“A,B或C中的至少一个”的形式列出的项目可以表示(A);(B);(C);(A和B);(A和C);(B和C)或(A,B和C)。
在一些情况下,所公开的实施例可以在硬件、固件、软件或其任何组合中实现。所公开的实施例还可以被实现为由一个或多个暂时性或非暂时性机器可读(例如,计算机可读)存储介质携带或存储的指令,其可以由一个或多个处理器读取和执行。机器可读存储介质可以体现为用于以机器可读形式(例如,易失性或非易失性存储器、介质盘或其他介质)存储或传输信息的任何存储设备,机制或其他物理结构的设备)。
在附图中,一些结构或方法特征可以以特定布置和/或顺序示出。然而,应当理解,可能不需要这样的具体布置和/或排序。相反,在一些实施例中,这些特征可以以与说明性附图中所示不同的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示这种特征在所有实施例中都是需要的,并且在一些实施例中可以不包括或可以与其他特征组合。
为提高用户界面渲染效率,本申请实施例提供了一种用户界面渲染方法及能够实现该方法的装置。
本申请实施例提供的用户界面渲染方法,可以用于终端或其他需要展示用户界面的通信设备。其中,所述终端可以是任何适当的计算或移动设备,比如可包括:智能手机、平板电脑、笔记本电脑、个人数字助理(Personal Digital Assistant,PDA)或类似设备。所述终端通常包括显示器,并且可以包括适当的输入设备,例如键盘、鼠标或触摸板。显示器可以包括输入功能的触敏屏幕。
下面结合附图对本申请实施例进行详细描述。
参见图1,为本申请实施例提供的用户界面渲染架构示意图。如图所示,当需要对用户界面进行渲染时,已存储的命令集11被存入渲染队列13,渲染引擎14执行渲染队列13中的命令集,渲染完成的用户界面16被输出到显示模块15进行显示处理,输出用户界面16,其中,该命令集包括与渲染该用户界面相关联的命令,该命令集是基于该用户界面的历史渲染操作确定的(所述命令集可以是该用户界面此前被渲染时生成并存储的命令集)。
若尚未存储有命令集,该命令集包括与渲染该用户界面相关联的命令(比如在用户界面所属的应用程序第一次运行时),则可生成命令集10,该命令集包括与渲染该用户界面相关联的命令,所生成的命令集10一方面被放入渲染队列13,另一方面该命令集10被存储,以便下次需要渲染该用户界面时使用本次存储的命令集进行渲染。渲染引擎14执行渲染队列13中的命令集,得到渲染的用户界面16后,输出到显示模块15进行显示处理,并输出用户界面16。
可选地,还可预先设置用户界面设置信息12,渲染引擎14在进行用户界面渲染时,可根据用户界面设置信息12以及渲染队列13中的命令集对用户界面进行渲染。其中,用户界面设置信息12可以是默认设置或者由用户设置,可选地,还可允许用户根据需要进行修改。
下面结合图2详细描述本申请实施例提供的用户界面渲染流程。该流程可由用户界面渲染装置执行。所述用户界面渲染装置可由软件实现,比如,该装置可以是应用程序或应用程序中的功能模块。所述用户界面渲染装置也可由软件结合硬件实现,比如,该装置可以是终端或者其他需要显示用户界面的电子设备。
如图2所示,该流程可包括:
S201:确定待渲染的用户界面。
该步骤中,可在接收到开启或渲染用户界面的请求后,将所请求打开的用户界面确定为待渲染的用户界面。其中,该请求可由用户的操作触发(比如点击该应用程序的用户界面中的菜单命令以打开一个新的用户界面),也可由应用的逻辑触发(比如根据应用程序的执行逻辑,需要开启一个用户界面)。
用户界面可通过用户界面标识进行唯一标识。在一种可能的场景中,应用程序中可定义启动界面或启动时需要显示的首个用户界面,这样,当应用程序启动时,可获得需要渲染和显示的用户界面的标识。在另一种可能的场景中,应用程序已经启动并处于运行状态,根据该应用程序的执行逻辑或者根据用户的操作,需要打开相应的用户界面,此时可获得该需要渲染和显示的用户界面的标识。
S202:获取存储的命令集,该命令集包括与渲染所述用户界面相关联的命令,该命令集是基于所述用户界面的历史渲染操作确定的。若获取到该命令集,则执行S203。
其中,所述命令集通常包括多个按照一定时序执行的指令,通过执行该命令集,可以完成对一个用户界面的渲染。该命令集(包括与渲染所述用户界面相关联的命令)可以是在此前渲染该用户界面时生成并存储的。如果能够获取到存储的命令集,则表明此前该用户界面曾经被渲染并且保存了包括与渲染该用户界面相关联的命令的命令集;如果未能获取到存储的命令集,则表明当前未存储有包括与渲染该用户界面相关联的命令的命令集,比如有可能该应用程序第一次启动。
一个应用程序中通常包括多个用户界面,本申请实施例中,在存储包括与渲染用户界面相关联的命令的命令集时,可使用用户界面标识作为命令集的索引,以便根据用户界面的标识获取命令集,该命令集包括与渲染相应用户界面相关联的命令。
S203:根据所述存储的命令集渲染所述用户界面。
该步骤中,可将获取到的命令集放入渲染队列,渲染引擎通过执行渲染队列中的命令集,完成对用户界面的渲染。
进一步地,若未存储有命令集,该命令集包括与渲染所述用户界面相关联的命令,则在S202中无法获取到该命令集,此种情况下可执行:
S204:生成包括与渲染所述用户界面相关联的命令的命令集,并存储所生成的命令集。
该步骤中,可根据应用程序的逻辑以及应用框架层的逻辑和布局操作,生成命令集,该命令集包括与渲染用户界面相关联的命令。在一个例子中,应用程序的逻辑定义了用户界面中需要显示的内容、用户界面属性等,应用框架层逻辑和布局操作主要用于定义渲染该用户界面所需调用的接口,所述接口可包括应用程序编程接口(applicationprogramming interface,API),通过该API可调用系统提供的功能模块(比如函数)实现用户界面渲染。
S205:根据所生成的命令集渲染所述用户界面。
在一些场景中,应用程序可能进行了升级或更新,可能导致应用程序的用户界面发生改变,即,包括与渲染更新前的用户界面相关联的命令的的命令集,与包括与渲染更新后的用户界面相关联的命令的命令集可能不再相同。
针对上述情况,本申请实施例中,可选地,在上述根据存储的命令集渲染用户界面的同时,还可生成命令集(生成方法同前述实施例所述,在此不再重复),该命令集包括与渲染该用户界面相关联的命令,并将存储的命令集(该包括与渲染该用户界面相关联的命令)与生成的命令集进行比较,以判断所述生成的命令集与所述存储的命令集是否一致。在进行比较时,可逐条命令进行比较,若有一条命令不同,则可判定比较结果为不一致。
通常情况下,获取存储的命令集,并根据获取到的命令集进行用户界面渲染所耗费的时长,小于生成命令集所耗费的时长。因此,在得到比较结果时,用户界面已经渲染完成。此时,若比较结果为不一致,则清除已渲染完成的用户界面(该用户界面是根据存储的命令集渲染得到的),并根据所生成的命令集重新渲染该用户界面。这样可以针对用户界面有更新的情况,保证显示出的用户界面是更新的用户界面。
进一步地,还可将生成的命令集进行保存,以便下次渲染该用户界面时,可基于本次保存的命令集渲染得到更新的用户界面,从而提高该用户界面后续渲染的效率。
上述获取存储的命令集,并根据获取到的命令集进行用户界面渲染的过程,以及,生成用于渲染该用户界面的命令集的过程,可以并行进行。具体实施时,可通过两个不同的线程执行上述两个过程,且这两个线程并行执行。
考虑到针对同一用户界面,在不同情况下,该用户界面的显示可能不同。比如,在一种可能的场景中,客户端应用程序启动后显示用户界面A,此时用户尚未登录该用户程序对应的系统,此时所显示的用户界面A为用户未登录状态时所显示的用户界面。当用户登录系统后,需要在用户界面A上显示用户的登录用户名、问候语等内容,即,用户登录前和登录后所显示的用户界面所对应的用户界面标识未改变,但用户界面上的内容发生了改变。
再比如,在另一种可能的场景中,应用程序启动后显示用户界面B,用户通过屏幕操作改变了用户界面B的属性,比如移动了用户界面B的位置或者对用户界面B进行了缩放等处理。当该应用程序重新启动或该用户界面被关闭后重新显示时,用户希望该用户界面的属性保持前次修改后的属性。
针对上述情况,本申请实施例中,可选地,可在用户界面发生改变时,根据该用户界面的变化,修改所存储的命令集中包括的与渲染该用户界面相关联的命令,并保存修改后的命令集,这样,当该用户界面后续再次被渲染时,可基于上述修改后的命令集对该用户界面进行渲染。
其中,用户界面发生变化通常由相应事件触发,比如,用户登录系统的操作会触发用户登录事件,用户登录事件会触发用户界面的改变(比如在用户界面上添加登录用户名等信息);再比如,用户对用户界面进行位置移动或缩放操作会触发用户界面属性变更事件,该事件会触发用户界面的相关属性的改变。相应地,在根据该用户界面的变化,修改所存储的命令集中包括的与渲染该用户界面相关联的命令时,可根据用户界面的变更事件,获取该变更事件对应的信息(比如变更后的用户界面属性或变更后的用户界面上增加的显示内容),并根据获取到的相应信息对所存储的命令集中与渲染该用户界面相关联的命令进行修改,使得基于修改后的命令集进行用户界面渲染后所得到的用户界面,是变更后的用户界面,比如可以是登录后的用户界面或属性改变后的用户界面。
本申请实施例中,为了提高用户界面显示的灵活性或者个性化,可以设置用户界面设置信息,这样,在通过执行命令集渲染用户界面时,可以进一步根据该用户界面的设置信息对该用户界面进行渲染,以得到用户希望的用户界面渲染效果。
为此,本申请实施例中,可选地,可预先设置用户界面设置信息。该用户界面设置信息可以是默认设置的,比如由应用程序默认设置或者由操作系统默认设置。该用户界面设置信息也可以是用户设置的,比如用户可通过设置界面进行设置。进一步地,本申请实施例还允许用户对用户界面设置信息进行更改,比如允许用户通过设置界面对用户界面信息进行更改。
可选地,所述用户界面设置信息可包括以下信息之一或任意组合:
-用户界面的显示时间长度,在设定的时间长度达到时,可关闭屏幕显示;
-用户界面的显示方式,比如,用户界面是否采用渐变显示;
用户界面上,除所述用户界面所属的应用程序定义的显示内容以外的显示内容,可包括:文本、图片、控件中的一种或多种。举例来说,应用程序所定义的用户界面上未显示时钟(时间),通过用户界面设置信息可以使得该用户界面上显示时钟(时间),以便用户知晓当前时间。
以上仅示例性地列举了用户设置信息所包含的可能的内容,本申请并不限于上述所列举的内容。
考虑到应用程序可能会经常更新,如果一个应用程序首次启动后将生成的命令集进行了保存,但此后很长时间内未运行该应用程序,那么所保存的命令集有可能因应用程序的更新而不再适用,该命令集包括与渲染用户界面相关联的命令。
为此,本申请实施例中,可选地,在保存命令集时,可记录保存时的时间,该命令集包括与渲染用户界面相关联的命令。当需要渲染该用户界面时,获取到存储的命令集(该命令集包括与渲染该用户界面相关联的命令)后,可首先根据该命令集保存时的时间确定到当前为止的保存时长,如果该时长超过设定时长,则可清除保存的该命令集,基于生成的命令集进行用户界面渲染,并保存该生成的命令集。
针对上述情况,在本申请的另一个实施例中,在保存包括与渲染用户界面相关联的命令的命令集时,可记录应用程序(即该用户界面所属的应用程序)当前的版本号,该命令集包括与渲染用户界面相关联的命令。当需要渲染该用户界面时,获取到存储的命令集(该命令包括与渲染该用户界面相关联的命令)后,可首先根据该命令集保存时记录的应用程序版本号,判断与该应用程序当前的版本号是否一致,如果不一致,则可清除保存的该命令集,基于生成的命令集进行用户界面渲染,并保存该生成的命令集。
针对上述情况,在本申请的另一个实施例中,若操作系统版本进行了更新,则可清除所保存的命令集(该命令集中包括与渲染用户界面相关联的命令),比如可清除所有保存的命令集,也可清除指定应用程序所对应的命令集,该命令集中包括与渲染用户界面相关联的命令。其中,所述指定的应用程序可由配置信息定义,该配置信息可以是系统默认的,也可允许用户设置或修改。
针对上述情况,在本申请的另一个实施例中,若应用程序版本进行了更新,可清除该应用程序对应的命令集,该命令集包括与渲染用户界面相关联的命令。
通过以上描述可以看出,本申请的上述实施例中,对于待渲染的用户界面,可获取存储的包括与渲染所述用户界面相关联的命令的命令集,并可根据获取到的命令集渲染该用户界面。这样,在需要显示用户界面时,可根据之前存储的命令集进行用户界面渲染,而不必等到生成用户界面渲染命令后,再根据生成的命令进行用户界面的渲染,因而一方面,使得所渲染得到的用户界面为应用程序实际的用户界面,另一方面,由于可以不必等到生成用户界面渲染命令并根据该命令进行用户界面渲染,因而可以提高用户界面渲染效率。
为了更清楚地理解本申请的上述实施例,下面结合图3对基于生成的命令集对用户界面进行渲染的过程进行描述,结合图4对基于存储的命令集对用户界面进行渲染的过程进行描述。
参见图3,为本申请实施例提供的应用程序首次启动时的用户界面渲染流程示意图,如图所示,该流程可包括:
S301:应用程序启动时,创建应用程序进程。
S302:应用程序进程加载预加载逻辑。
其中,预加载逻辑也称预加载功能模块,预加载逻辑可由应用框架层提供。预加载逻辑中可包括一些动态逻辑,所述动态逻辑可以实现基于用户界面设置信息进行用户界面渲染。动态逻辑不会被保存到命令集中。每次渲染用户界面时,可通过动态逻辑获取用户界面设置信息,根据获取到的用户界面设置信息进行用户界面渲染。用户界面信息可由用户根据需要进行设置或修改,这样,可提高用户界面渲染的灵活性和个性化。
S303:应用程序进程根据加载的预加载逻辑开启快速渲染模式。所述快速渲染模式是指本申请实施例提供的用户界面渲染模式。所述快速渲染模式可由实现相应功能的功能模块(比如快速渲染模块)来实现。所述快速渲染模块具体可以由程序代码实现。
S304:应用程序进程加载应用程序的逻辑。
S305:应用程序进程根据应用程序的逻辑以及应用框架层的逻辑,生成命令集,该命令集包括与界面渲染相关联的命令。
S306:应用程序进程将生成的命令集发送给渲染引擎,更具体地,应用程序进程将生成的命令集发送给渲染引擎的渲染队列。渲染引擎根据该命令集进行用户界面渲染。
渲染引擎根据命令集渲染用户界面时,可根据S302加载的预加载逻辑,基于用户界面设置信息进行用户界面渲染。
本实施例中,由于应用程序第一次被启动,尚未保存有用于界面渲染的命令集,因此需要根据生成的命令集进行用户界面渲染,因此将生成的命令集发送给渲染引擎。
S307:渲染引擎保存接收到的命令集。
S308:应用程序的启动逻辑执行完成,显示渲染得到的用户界面。
上述流程中,快速渲染模式对应用开发完全透明,与应用的生命周期绑定,即,在应用框架层定义了开始(start)等事件来触发快速渲染处理(本流程中,包括生成命令集,用生成的命令集进行用户界面渲染,保存生成的命令集)。这样,当执行应用程序的逻辑和框架层逻辑时,即可自动触发快速渲染处理过程,而不需要调用API来开启快速渲染模式,也不需要调用API来告知渲染引擎何时停止保存命令集。
考虑到快速渲染模式可能并不适用于所有应用程序,比如,不使用渲染引擎进行用户界面渲染的应用程序可能不适用本申请实施例提供的快速渲染模式,因此,在上述流程的S303中,可首先判断应用程序是否适用于快速渲染模式,若适用(比如,通过渲染引擎进行用户界面渲染),则开启快速渲染模式,若不适用(比如,不是通过渲染引擎进行用户界面渲染,而是直接调用更底层的API进行用户界面渲染),则不开启或关闭已开启的快速渲染模式,而是采用常规模式进行用户界面渲染。
参见图4,为本申请实施例提供的应用程序后续启动时的用户界面渲染流程示意图。该流程可包括:
S401:应用程序启动时,创建应用程序进程。
S402:应用程序进程加载预加载逻辑。该步骤的具体说明可参见图3中的S302。
S403:根据加载的预加载逻辑开启快速渲染模式,通过快速渲染模块获取存储的命令集,该命令集用于渲染待显示的用户界面。
S404:将获取到的命令集发送到渲染队列。
S405:渲染引擎执行渲染队列中的命令集,从而对用户界面进行渲染。
渲染引擎根据命令集渲染用户界面时,可根据S402加载的预加载逻辑,基于用户界面设置信息进行用户界面渲染。
S406:用户界面渲染完成,并显示渲染完成的用户界面。此时,用户可看到应用程序的实际用户界面。
S407:应用程序进程加载应用逻辑。
S408:应用程序进程根据应用程序的逻辑以及应用框架层的逻辑,生成命令集,该命令集包括与界面渲染相关联的命令。
S409:应用程序进程发送生成的命令集到渲染引擎。
S410:渲染引擎对生成的命令集和存储的命令集进行验证,即验证二者是否一致,若验证通过(即二者一致)。则转入S411;否则,转入S412。
S411:应用程序的启动逻辑执行完成,显示渲染得到的用户界面。
S412:将生成的命令集发送到渲染队列。
S413:清除已渲染得到的用户界面,根据新的命令集重新进行用户界面渲染,显示渲染得到的用户界面,并保存生成的命令集。
需要注意的是,渲染引擎和应用/框架层可在不同线程中执行,比如,上述流程中,S402~S407可在一个线程中执行,S407~410可在另一个线程中执行,两个线程并行执行。
本申请的上述实施例,可适用于操作系统框架与渲染引擎之间的通信架构为命令缓存(command-buffer),即两者之间通信是通过命令(command)来进行的。本申请的上述实施例也适用于其他通信架构。在将本申请实施例应用于所述其他通信架构时,可存储用于进行用户界面渲染的字符序列,该字符序列可转换为用于用户界面渲染的命令集。
可以看出,本申请实施例提供的用户界面渲染方法,可以跳过应用的逻辑以及框架层的逻辑和布局操作,基于存储的命令集,通过渲染引擎进行用户界面渲染,对于较复杂的应用程序用户界面,可较为显著地提升用户界面渲染效率。
基于相同的技术构思,本申请实施例还提供了一种用户界面渲染装置。
参见图5,为本申请实施例提供的用户界面渲染装置的结构示意图。该装置可包括:确定模块501、处理模块502、渲染模块503,进一步地,还可包括生成模块504,其中:
确定模块501确定待渲染的用户界面;处理模块502获取存储的命令集,所述命令集包括与渲染所述用户界面相关联的命令,所述命令集是基于所述用户界面的历史渲染操作确定的;渲染模块503至少根据所述存储的命令集渲染所述用户界面。
可选地,生成模块504生成命令集,所述命令集包括与渲染所述用户界面相关联的命令;处理模块502存储所述生成的命令集;渲染模块503在未存储有所述命令集的情况下,根据所述生成的命令集渲染所述用户界面。
可选地,生成模块504生成命令集,所述命令集包括与渲染所述用户界面相关联的命令;述处理模块502判断所述生成的命令集与所述存储的命令集是否一致,若不一致,则清除根据所述存储的命令集生成的用户界面;渲染模块503根据所述生成的命令集渲染所述用户界面。进一步地,处理模块502删除所述存储的命令集,并保存所述生成的命令集。
可选地,处理模块502在所述用户界面发生改变时,根据所述用户界面的变化,修改存储的命令集中包括的与渲染所述用户界面相关联的命令,保存修改后的命令集。具体地,处理模块502根据所述用户界面的变更事件,获取所述变更事件对应的信息,根据获取的所述变更事件对应的信息,修改存储的命令集中包括的与渲染所述用户界面相关联的命令。
其中,所述用户界面的更新事件,包括:用户登录事件或所述用户界面的属性发生变更的事件。
可选地,处理模块502获取用户界面设置信息;渲染模块503根据所述存储的命令集以及所述用户界面设置信息,渲染所述用户界面。
进一步地,还包括设置模块(未在图中示出)。设置模块接收用户界面设置指令,所述用户界面设置指令用于请求设置或更新所述用户界面设置信息;根据所述用户界面设置指令,设置或更新所述用户界面设置信息。
其中,所述用户界面设置信息包括以下信息之一或任意组合:
用户界面的显示时间长度;
用户界面的显示方式;
用户界面上,除所述用户界面所属的应用程序定义的显示内容以外的显示内容。其中,所述除所述用户界面所属的应用程序定义的显示内容以外的显示内容,包括:文本、图片、控件中的一种或多种。
可选地,生成模块504生成命令集,所述命令集中包括与渲染所述用户界面相关联的命令;处理模块502获取存储的命令集后,确定所述命令集的存储时间长度,若所述命令集的存储时间长度大于设定阈值,则清除所述命令集,保存生成的命令集;渲染模块503根据所述生成的命令集渲染所述用户界面。
可选地,生成模块504生成命令集,所述命令集包括与渲染所述用户界面相关联的命令;处理模块502获取存储的命令集后,根据所述命令集对应的应用程序版本判断与所述应用程序的当前版本是否一致,若两者不一致,则清除所述命令集,保存生成的命令集;其中,所述命令集对应的应用程序版本为存储所述命令集时记录的所述应用程序的版本。渲染模块503根据所述生成的命令集渲染所述用户界面。
可选地,处理模块502还可在操作系统版本进行了更新的情况下,清除所述存储的命令集;和/或,在所述用户界面所属的应用程序进行了更新的情况下,清除所述存储的命令集。
基于相同的技术构思,本申请实施例还提供了一种装置600,该装置600可实现前述实施例描述的用户界面渲染流程。
图6示例性地示出了根据各种实施例的示例装置600,装置600可包括一个或多个处理器602,系统控制逻辑601耦合于至少一个处理器602,非易失性存储器(non-volatilememory,NMV)/存储器604耦合于系统控制逻辑601,网络接口606耦合于系统控制逻辑601。
处理器602可包括一个或多个单核处理器或多核处理器。处理器602可包括任何一般用途处理器或专用处理器(如图像处理器、应用处理器基带处理器等)的组合。
一个实施例中的系统控制逻辑601,可包括任何适当的接口控制器,以提供到处理器602中的至少一个的任何合适的接口,和/或提供到与系统控制逻辑601通信的任何合适的设备或组件的任何合适的接口。
一个实施例中的系统控制逻辑601,可包括一个或多个内存控制器,以提供到系统内存603的接口。系统内存603用来加载以及存储数据和/或指令。例如,对应装置600,在一个实施例中,系统内存603可包括任何合适的易失性存储器。
NVM/存储器604可包括一个或多个有形的非暂时的计算机可读介质,用于存储数据和/或指令。例如,NVM/存储器604可包括任何合适的非易失性存储装置,如一个或多个硬盘(hard disk device,HDD),一个或多个光盘(compact disk,CD),和/或一个或多个数字通用盘(digital versatile disk,DVD)。
NVM/存储器604可包括存储资源,该存储资源物理上是该系统所安装的或者可以被访问的设备的一部分,但不一定是设备的一部分。例如,NVM/存储器604可经由网络接口606被网络访问。
系统内存603以及NVM/存储器604可分别包括临时的或持久的指令610的副本。指令610可包括当由处理器602中的至少一个执行时导致装置600实现图2至图4描述的方法之一或组合的指令。各实施例中,指令610或硬件、固件,和/或软件组件可另外地/可替换地被置于系统控制逻辑601,网络接口606和/或处理器602。
网络接口606可包括一个接收器来为装置600提供无线接口来与一个或多个网络和/或任何合适的设备进行通信。网络接口606可包括任何合适的硬件和/或固件。网络接口606可包括多个天线来提供多输入多输出无线接口。在一个实施例中,网络接口606可包括一个网络适配器、一个无线网络适配器、一个电话调制解调器,和/或无线调制解调器。
在一个实施例中,处理器602中的至少一个可以与用于系统控制逻辑的一个或多个控制器的逻辑一起封装。在一个实施例中,处理器中的至少一个可以与用于系统控制逻辑的一个或多个控制器的逻辑一起封装以形成系统级封装。在一个实施例中,处理器中的至少一个可以与用于系统控制逻辑的一个或多个控制器的逻辑集成在相同的管芯上。在一个实施例中,处理器中的至少一个可以与用于系统控制逻辑的一个或多个控制器的逻辑集成在相同的管芯上以形成系统芯片。
装置600可进一步包括输入/输出装置605。输入/输出装置605可包括用户接口旨在使用户与装置600进行交互,可包括外围组件接口,其被设计为使得外围组件能够与系统交互,和/或,可包括传感器,旨在确定环境条件和/或有关装置600的位置信息。
基于相同的技术构思,本申请实施例还提供了一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被一个或多个处理器执行时,使得通信设备执行前述实施例描述的用户界面渲染方法。
基于相同的技术构思,本申请实施例还提供了一种渲染引擎,包括:
命令读取程序,用于获取存储的命令集,所述命令集包括与渲染用户界面相关联的命令;其中,该命令读取程序的执行逻辑,与上述实施例中,图2对应的流程包括的S202基本相同,具体执行细节可以参考S202的相关描述,以及,还可以进一步参考上述实施例中涉及的与“获取存储的命令集”相关的各描述;
渲染程序,用于至少根据所述命令读取程序读取的命令集渲染所述用户界面。其中,该渲染程序的执行逻辑,与上述实施例中,图2对应的流程包括的S203基本相同,具体执行细节可以参考S203的相关描述,以及,还可以进一步参考上述实施例中涉及的与“至少根据所述命令读取程序读取的命令集渲染所述用户界面”相关的各描述。
基于相同的技术构思,本申请实施例还提供了一种操作系统,包括:
存储模块,用于存储命令集,所述命令集包括与渲染用户界面相关联的命令;
渲染引擎,用于读取所述存储模块存储的命令集,并至少根据读取的所述命令集,渲染所述用户界面。其中,该渲染引擎的详细执行逻辑与上述实施例所描述的图2对应的流程基本相同,具体细节请参考前述实施例的描述。该渲染引擎的详细执行逻辑可以进一步参考上述实施例中涉及的与“读取存储的命令集”相关的各描述,以及参考上述实施例中涉及的与“至少根据读取的所述命令集,渲染所述用户界面”相关的各描述。
基于相同的技术构思,本申请实施例还提供了一种用户界面渲染方法,包括:
获取存储的命令集,该命令集包括与待渲染的用户界面相关联的命令;其中,该获取存储的命令集的步骤的具体执行过程,与上述实施例中图2对应的流程包括的S202基本相同,具体执行细节可以参考S202的相关描述,以及,还可以进一步参考上述实施例中涉及的与“获取存储的命令集”相关的各描述;
至少根据存储的命令集,渲染用户界面。其中,该渲染用户界面的具体执行逻辑,与上述实施例中,图2对应的流程包括的S203基本相同,具体执行细节可以参考S203及相关的描述,以及,还可以进一步参考上述实施例中涉及的与“至少根据所述命令读取程序读取的命令集渲染所述用户界面”相关的各描述。

Claims (34)

1.一种用户界面渲染方法,其特征在于,包括:
确定待渲染的用户界面;
获取存储的命令集,所述命令集包括与渲染所述用户界面相关联的命令,所述命令集是基于所述用户界面的历史渲染操作确定的;
至少根据所述存储的命令集,渲染所述用户界面。
2.如权利要求1所述的方法,其特征在于,若未存储有所述命令集,则所述方法还包括:
生成命令集,所述命令集包括与渲染所述用户界面相关联的命令;
存储所述生成的命令集;
根据所述生成的命令集渲染所述用户界面。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
生成命令集,所述命令集包括与渲染所述用户界面相关联的命令;
判断所述生成的命令集与所述存储的命令集是否一致;
若不一致,则清除根据所述存储的命令集生成的用户界面,并根据所述生成的命令集渲染所述用户界面。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
删除所述存储的命令集,并保存所述生成的命令集。
5.如权利要求3所述的方法,其特征在于,通过第一线程执行所述根据所述存储的命令集渲染所述用户界面的步骤,通过第二线程执行所述生成用于渲染所述用户界面的命令集的步骤,所述第一线程和所述第二线程并行执行。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
在所述用户界面发生改变时,根据所述用户界面的变化,修改存储的命令集中包括的与渲染所述用户界面相关联的命令;
保存修改后的命令集。
7.如权利要求6所述的方法,其特征在于,所述在所述用户界面发生改变时,根据所述用户界面的变化,修改存储的命令集中包括的与渲染所述用户界面相关联的命令,包括:
根据所述用户界面的变更事件,获取所述变更事件对应的信息;
根据获取的所述变更事件对应的信息,修改存储的命令集中包括的与渲染所述用户界面相关联的命令。
8.如权利要求6所述的方法,其特征在于,所述用户界面的更新事件,包括:用户登录事件或所述用户界面的属性发生变更的事件。
9.如权利要求1所述的方法,其特征在于,所述方法还包括:获取用户界面设置信息;
根据所述存储的命令集渲染所述用户界面,包括:
根据所述存储的命令集以及所述用户界面设置信息,渲染所述用户界面。
10.如权利要求9所述的方法,其特征在于,所述方法还包括:
接收用户界面设置指令,所述用户界面设置指令用于请求设置或更新所述用户界面设置信息;
根据所述用户界面设置指令,设置或更新所述用户界面设置信息。
11.如权利要求9或10所述的方法,其特征在于,所述用户界面设置信息包括以下信息之一或任意组合:
用户界面的显示时间长度;
用户界面的显示方式;
用户界面上,除所述用户界面所属的应用程序定义的显示内容以外的显示内容。
12.如权利要求11所述的方法,其特征在于,所述除所述用户界面所属的应用程序定义的显示内容以外的显示内容,包括:文本、图片、控件中的一种或多种。
13.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取存储的命令集后,确定所述命令集的存储时间长度;
若所述命令集的存储时间长度大于设定阈值,则清除所述命令集;
生成命令集并保存,根据所述生成的命令集渲染所述用户界面,所述命令集包括与渲染所述用户界面的命令。
14.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取存储的命令集后,根据所述命令集对应的应用程序版本判断与所述应用程序的当前版本是否一致;其中,所述命令集对应的应用程序版本为存储所述命令集时记录的所述应用程序的版本;
若两者不一致,则清除所述命令集;
生成命令集并保存,根据所述生成的命令集渲染所述用户界面,所述命令集包括与渲染所述用户界面相关联的命令。
15.如权利要求1所述的方法,其特征在于,所述方法还包括:
若操作系统版本进行了更新,则清除所述存储的命令集;和/或,
若所述用户界面所属的应用程序进行了更新,则清除所述存储的命令集。
16.一种用户界面渲染装置,其特征在于,包括:
确定模块,确定待渲染的用户界面;
处理模块,获取存储的命令集,所述命令集包括与渲染所述用户界面相关联的命令,所述命令集是基于所述用户界面的历史渲染操作确定的;
渲染模块,至少根据所述存储的命令集渲染所述用户界面。
17.如权利要求16所述的装置,其特征在于,所述装置还包括:生成模块;
所述生成模块,生成命令集,所述命令集包括与渲染所述用户界面相关联的命令;
所述处理模块,存储所述生成的命令集;
所述渲染模块,在未存储有所述命令集的情况下,根据所述生成的命令集渲染所述用户界面。
18.如权利要求16所述的装置,其特征在于,所述装置还包括:生成模块;
所述生成模块,生成命令集,所述命令集包括与渲染所述用户界面相关联的命令;
所述处理模块,判断所述生成的命令集与所述存储的命令集是否一致;若不一致,则清除根据所述存储的命令集生成的用户界面;
所述渲染模块,根据所述生成的命令集渲染所述用户界面。
19.如权利要求18所述的装置,其特征在于,所述处理模块,删除所述存储的命令集,并保存所述生成的命令集。
20.如权利要求16所述的装置,其特征在于:
所述处理模块,在所述用户界面发生改变时,根据所述用户界面的变化,修改存储的命令集中包括的与渲染所述用户界面相关联的命令,保存修改后的命令集。
21.如权利要求20所述的装置,其特征在于:
所述处理模块,根据所述用户界面的变更事件,获取所述变更事件对应的信息;根据获取的所述变更事件对应的信息,修改存储的命令集中包括的与渲染所述用户界面相关联的命令。
22.如权利要求20所述的装置,其特征在于,所述用户界面的更新事件,包括:用户登录事件或所述用户界面的属性发生变更的事件。
23.如权利要求16所述的装置,其特征在于:
所述处理模块,获取用户界面设置信息;
所述渲染模块,根据所述存储的命令集以及所述用户界面设置信息,渲染所述用户界面。
24.如权利要求22所述的装置,其特征在于,所述装置还包括:设置模块;
所述设置模块,接收用户界面设置指令,所述用户界面设置指令用于请求设置或更新所述用户界面设置信息;根据所述用户界面设置指令,设置或更新所述用户界面设置信息。
25.如权利要求23或24所述的装置,其特征在于,所述用户界面设置信息包括以下信息之一或任意组合:
用户界面的显示时间长度;
用户界面的显示方式;
用户界面上,除所述用户界面所属的应用程序定义的显示内容以外的显示内容。
26.如权利要求25所述的装置,其特征在于,所述除所述用户界面所属的应用程序定义的显示内容以外的显示内容,包括:文本、图片、控件中的一种或多种。
27.如权利要求16所述的装置,其特征在于,所述装置还包括:生成模块;
所述生成模块,生成命令集,所述命令集包括与渲染所述用户界面相关联的命令;
所述处理模块,获取存储的命令集后,确定所述命令集的存储时间长度;若所述命令集的存储时间长度大于设定阈值,则清除所述命令集,保存生成的命令集;
所述渲染模块,根据所述生成的命令集渲染所述用户界面。
28.如权利要求16所述的装置,其特征在于,所述装置还包括:生成模块;
所述生成模块,生成命令集,所述命令集包括与渲染所述用户界面相关联的命令;
所述处理模块,获取存储的命令集后,根据所述命令集对应的应用程序版本判断与所述应用程序的当前版本是否一致,若两者不一致,则清除所述命令集,保存生成的命令集;其中,所述命令集对应的应用程序版本为存储所述命令集时记录的所述应用程序的版本;
所述渲染模块,根据所述生成的命令集渲染所述用户界面。
29.如权利要求16所述的装置,其特征在于:
所述处理模块,若操作系统版本进行了更新,则清除所述存储的命令集;和/或,若所述用户界面所属的应用程序进行了更新,则清除所述存储的命令集。
30.一个或多个计算机可读介质,其特征在于,所述可读介质上存储有指令,所述指令被一个或多个处理器执行时,使得通信设备执行如权利要求1-15中任一项所述的方法。
31.一种装置,其特征在于,包括:
一个或多个处理器;以及
一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述装置执行如权利要求1-15中任一项所述的方法。
32.一种渲染引擎,其特征在于,包括:
命令读取程序,用于获取存储的命令集,所述命令集包括与渲染用户界面相关联的命令;
渲染程序,用于至少根据所述命令读取程序读取的命令集渲染所述用户界面。
33.一种操作系统,其特征在于,包括:
存储模块,用于存储命令集,所述命令集包括与渲染用户界面相关联的命令;
渲染引擎,用于读取所述存储模块存储的命令集,并至少根据读取的所述命令集,渲染所述用户界面。
34.一种用户界面渲染方法,其特征在于,包括:
获取存储的命令集,所述命令集包括与待渲染的用户界面相关联的命令;
至少根据所述存储的命令集,渲染所述用户界面。
CN201710892305.1A 2017-09-27 2017-09-27 一种用户界面渲染方法及装置 Active CN109558187B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710892305.1A CN109558187B (zh) 2017-09-27 2017-09-27 一种用户界面渲染方法及装置
PCT/CN2018/106437 WO2019062615A1 (zh) 2017-09-27 2018-09-19 一种用户界面渲染方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710892305.1A CN109558187B (zh) 2017-09-27 2017-09-27 一种用户界面渲染方法及装置

Publications (2)

Publication Number Publication Date
CN109558187A true CN109558187A (zh) 2019-04-02
CN109558187B CN109558187B (zh) 2022-08-23

Family

ID=65864115

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710892305.1A Active CN109558187B (zh) 2017-09-27 2017-09-27 一种用户界面渲染方法及装置

Country Status (2)

Country Link
CN (1) CN109558187B (zh)
WO (1) WO2019062615A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110971925A (zh) * 2019-11-22 2020-04-07 广州三人行壹佰教育科技有限公司 直播界面的显示方法、装置及系统
CN110990075A (zh) * 2019-11-18 2020-04-10 北京小米移动软件有限公司 快应用的启动方法、装置、设备及存储介质
CN114691130A (zh) * 2020-12-31 2022-07-01 Oppo广东移动通信有限公司 界面渲染方法和装置、可穿戴设备、可读存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113434149B (zh) * 2021-07-07 2023-09-08 腾讯科技(深圳)有限公司 应用程序生成和加载方法、装置和介质

Citations (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070226636A1 (en) * 2006-03-21 2007-09-27 Microsoft Corporation Simultaneous input across multiple applications
US20120023402A1 (en) * 2010-07-26 2012-01-26 International Business Machines Corporation Capturing information on a rendered user interface including user activateable content
US20130125133A1 (en) * 2009-05-29 2013-05-16 Michael D. Schuster System and Method for Load Balancing of Fully Strict Thread-Level Parallel Programs
CN103150699A (zh) * 2011-12-06 2013-06-12 索尼电脑娱乐公司 图形指令生成装置和图形指令生成方法
US20130332859A1 (en) * 2012-06-08 2013-12-12 Sri International Method and user interface for creating an animated communication
CN103514179A (zh) * 2012-06-21 2014-01-15 腾讯科技(深圳)有限公司 网络浏览器切换历史网页的方法及网络浏览器
WO2014105268A1 (en) * 2012-12-28 2014-07-03 Qualcomm Incorporated REORDERING OF COMMAND STREAMS FOR GRAPHICAL PROCESSING UNITS (GPUs)
CN104182547A (zh) * 2014-09-10 2014-12-03 北京浩瀚深度信息技术股份有限公司 一种服务器优化页面渲染的方法及web cache服务器
CN105224390A (zh) * 2015-09-22 2016-01-06 宁夏大学 一种虚拟桌面压缩的方法
CN105320687A (zh) * 2014-07-29 2016-02-10 腾讯科技(北京)有限公司 网页显示方法及装置
CN105354014A (zh) * 2014-08-18 2016-02-24 阿里巴巴集团控股有限公司 应用界面渲染展示方法及装置
CN105511962A (zh) * 2015-11-27 2016-04-20 华为技术有限公司 渲染方法和装置
US20160142468A1 (en) * 2014-11-19 2016-05-19 Alticast Corporation System and method for providing cloud based user interfaces
CN105630467A (zh) * 2014-10-31 2016-06-01 腾讯科技(武汉)有限公司 用户交互界面的渲染处理方法及处理装置
US20160154678A1 (en) * 2014-11-28 2016-06-02 Canon Kabushiki Kaisha Reverting tightly coupled threads in an over-scheduled system
CN105701127A (zh) * 2014-11-27 2016-06-22 广州市动景计算机科技有限公司 网页页面的截图处理方法及装置
CN105787865A (zh) * 2016-03-01 2016-07-20 西华大学 基于游戏引擎和gpu并行处理的分形图生成与渲染方法
CN105979243A (zh) * 2015-12-01 2016-09-28 乐视致新电子科技(天津)有限公司 一种显示立体图像的处理方法和装置
CN106021431A (zh) * 2016-05-12 2016-10-12 腾讯科技(深圳)有限公司 一种页面展示方法和装置
CN106156148A (zh) * 2015-04-14 2016-11-23 腾讯科技(深圳)有限公司 一种页面的渲染方法、装置和终端设备
CN106296785A (zh) * 2016-08-09 2017-01-04 腾讯科技(深圳)有限公司 一种图片渲染方法及图片渲染设备
CN106354512A (zh) * 2016-09-08 2017-01-25 广州华多网络科技有限公司 用户界面渲染方法及装置
CN106462393A (zh) * 2014-05-30 2017-02-22 苹果公司 用于统一应用编程接口和模型的系统和方法
CN106462582A (zh) * 2014-06-26 2017-02-22 谷歌公司 批处理优化渲染和获取架构
CN106600656A (zh) * 2016-11-24 2017-04-26 合肥中科云巢科技有限公司 图形渲染方法和装置
CN106682176A (zh) * 2016-12-29 2017-05-17 北京五八信息技术有限公司 页面的加载方法、装置和设备
CN106873984A (zh) * 2017-01-13 2017-06-20 努比亚技术有限公司 一种自定义脚本绘制终端及方法
CN106933890A (zh) * 2015-12-31 2017-07-07 华为技术有限公司 一种静态化页面的处理方法及装置
CN106933614A (zh) * 2015-12-30 2017-07-07 广州爱九游信息技术有限公司 一种单页面应用升级方法及装置
CN106990946A (zh) * 2016-01-21 2017-07-28 阿里巴巴集团控股有限公司 一种界面处理方法、装置和智能终端

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140320504A1 (en) * 2013-04-30 2014-10-30 Tamm, Inc. Virtual Re-Animation
CN103399729B (zh) * 2013-06-28 2016-04-27 广州市动景计算机科技有限公司 一种HTML5 Canvas应用处理方法、装置及处理器

Patent Citations (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070226636A1 (en) * 2006-03-21 2007-09-27 Microsoft Corporation Simultaneous input across multiple applications
US20130125133A1 (en) * 2009-05-29 2013-05-16 Michael D. Schuster System and Method for Load Balancing of Fully Strict Thread-Level Parallel Programs
US20120023402A1 (en) * 2010-07-26 2012-01-26 International Business Machines Corporation Capturing information on a rendered user interface including user activateable content
CN103150699A (zh) * 2011-12-06 2013-06-12 索尼电脑娱乐公司 图形指令生成装置和图形指令生成方法
US20130332859A1 (en) * 2012-06-08 2013-12-12 Sri International Method and user interface for creating an animated communication
CN103514179A (zh) * 2012-06-21 2014-01-15 腾讯科技(深圳)有限公司 网络浏览器切换历史网页的方法及网络浏览器
WO2014105268A1 (en) * 2012-12-28 2014-07-03 Qualcomm Incorporated REORDERING OF COMMAND STREAMS FOR GRAPHICAL PROCESSING UNITS (GPUs)
CN106462393A (zh) * 2014-05-30 2017-02-22 苹果公司 用于统一应用编程接口和模型的系统和方法
CN106462582A (zh) * 2014-06-26 2017-02-22 谷歌公司 批处理优化渲染和获取架构
CN105320687A (zh) * 2014-07-29 2016-02-10 腾讯科技(北京)有限公司 网页显示方法及装置
CN105354014A (zh) * 2014-08-18 2016-02-24 阿里巴巴集团控股有限公司 应用界面渲染展示方法及装置
CN104182547A (zh) * 2014-09-10 2014-12-03 北京浩瀚深度信息技术股份有限公司 一种服务器优化页面渲染的方法及web cache服务器
CN105630467A (zh) * 2014-10-31 2016-06-01 腾讯科技(武汉)有限公司 用户交互界面的渲染处理方法及处理装置
US20160142468A1 (en) * 2014-11-19 2016-05-19 Alticast Corporation System and method for providing cloud based user interfaces
CN105701127A (zh) * 2014-11-27 2016-06-22 广州市动景计算机科技有限公司 网页页面的截图处理方法及装置
US20160154678A1 (en) * 2014-11-28 2016-06-02 Canon Kabushiki Kaisha Reverting tightly coupled threads in an over-scheduled system
CN106156148A (zh) * 2015-04-14 2016-11-23 腾讯科技(深圳)有限公司 一种页面的渲染方法、装置和终端设备
CN105224390A (zh) * 2015-09-22 2016-01-06 宁夏大学 一种虚拟桌面压缩的方法
CN105511962A (zh) * 2015-11-27 2016-04-20 华为技术有限公司 渲染方法和装置
CN105979243A (zh) * 2015-12-01 2016-09-28 乐视致新电子科技(天津)有限公司 一种显示立体图像的处理方法和装置
CN106933614A (zh) * 2015-12-30 2017-07-07 广州爱九游信息技术有限公司 一种单页面应用升级方法及装置
CN106933890A (zh) * 2015-12-31 2017-07-07 华为技术有限公司 一种静态化页面的处理方法及装置
CN106990946A (zh) * 2016-01-21 2017-07-28 阿里巴巴集团控股有限公司 一种界面处理方法、装置和智能终端
CN105787865A (zh) * 2016-03-01 2016-07-20 西华大学 基于游戏引擎和gpu并行处理的分形图生成与渲染方法
CN106021431A (zh) * 2016-05-12 2016-10-12 腾讯科技(深圳)有限公司 一种页面展示方法和装置
CN106296785A (zh) * 2016-08-09 2017-01-04 腾讯科技(深圳)有限公司 一种图片渲染方法及图片渲染设备
CN106354512A (zh) * 2016-09-08 2017-01-25 广州华多网络科技有限公司 用户界面渲染方法及装置
CN106600656A (zh) * 2016-11-24 2017-04-26 合肥中科云巢科技有限公司 图形渲染方法和装置
CN106682176A (zh) * 2016-12-29 2017-05-17 北京五八信息技术有限公司 页面的加载方法、装置和设备
CN106873984A (zh) * 2017-01-13 2017-06-20 努比亚技术有限公司 一种自定义脚本绘制终端及方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110990075A (zh) * 2019-11-18 2020-04-10 北京小米移动软件有限公司 快应用的启动方法、装置、设备及存储介质
CN110990075B (zh) * 2019-11-18 2023-08-29 北京小米移动软件有限公司 快应用的启动方法、装置、设备及存储介质
CN110971925A (zh) * 2019-11-22 2020-04-07 广州三人行壹佰教育科技有限公司 直播界面的显示方法、装置及系统
CN110971925B (zh) * 2019-11-22 2021-12-21 广州欢聚时代信息科技有限公司 直播界面的显示方法、装置及系统
CN114691130A (zh) * 2020-12-31 2022-07-01 Oppo广东移动通信有限公司 界面渲染方法和装置、可穿戴设备、可读存储介质

Also Published As

Publication number Publication date
WO2019062615A1 (zh) 2019-04-04
CN109558187B (zh) 2022-08-23

Similar Documents

Publication Publication Date Title
JP7013466B2 (ja) アプリケーションデータ処理方法、装置、及びコンピュータプログラム
US20240095043A1 (en) Execution of sub-application processes within application program
CN109976821B (zh) 应用程序加载方法、装置、终端及存储介质
KR102355481B1 (ko) 반복된 액션에 대한 스마트 어시스트
US10853099B2 (en) System, method, and apparatus for rendering interface elements
KR101971389B1 (ko) 연합 기반 메모리 관리
CN109558187A (zh) 一种用户界面渲染方法及装置
CN106227494B (zh) 一种应用操作方法以及终端
CN106126424B (zh) 一种脚本可视化的自动化测试方法、装置和移动终端
CN105094551A (zh) 一种信息处理方法及电子设备
CN107329750A (zh) 应用程序中广告页面的识别方法、跳转方法及移动终端
CN108228188A (zh) 一种视图组件处理方法、电子设备及可读存储介质
CN109634607A (zh) 一种代码自动生成的方法及装置
CN104866416B (zh) 实现应用程序性能分析的方法和装置
CN108304234B (zh) 一种页面展示方法及装置
CN108228321A (zh) 一种安卓系统应用关闭方法和装置
CN105868420A (zh) 一种网络资源加载方式配置方法及装置
WO2019071618A1 (zh) 一种图像处理方法及设备
CN109246467A (zh) 标记待分享视频的方法、装置、摄像机和智能手机
CN109117153A (zh) 应用程序的处理方法、装置、终端和存储介质
CN104956326A (zh) 基于抽象测试用户控制的测试脚本创建
CN107250979B (zh) 应用事件跟踪
CN109522174B (zh) 控制adb使能的方法、装置、终端及存储介质
CN117667169A (zh) 应用程序的更新方法、装置、电子设备及存储介质
CN109710278A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201211

Address after: Room 603, 6 / F, Roche Plaza, 788 Cheung Sha Wan Road, Kowloon, China

Applicant after: Zebra smart travel network (Hong Kong) Ltd.

Address before: Cayman Islands Grand Cayman capital building, a four storey No. 847 mailbox

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant