CN110321205A - 一种在宿主程序中管理寄宿程序的方法与设备 - Google Patents
一种在宿主程序中管理寄宿程序的方法与设备 Download PDFInfo
- Publication number
- CN110321205A CN110321205A CN201910265259.1A CN201910265259A CN110321205A CN 110321205 A CN110321205 A CN 110321205A CN 201910265259 A CN201910265259 A CN 201910265259A CN 110321205 A CN110321205 A CN 110321205A
- Authority
- CN
- China
- Prior art keywords
- interface assembly
- program
- boarding program
- boarding
- resource
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请的目的是提供一种在宿主程序中管理寄宿程序的方法,该方法包括:检测是否满足生成第一界面组件的触发条件;若满足所述触发条件,生成第一寄宿程序对应的第一界面组件,其中,所述第一界面组件包括所述第一寄宿程序的标识信息;在所述宿主程序的寄宿程序管理中心记录所述第一界面组件。本申请基于满足生成第一界面组件的触发条件来生成第一寄宿程序对应的第一界面组件,并在寄宿程序管理中心中记录生成的第一寄宿程序,从而实现基于该第一界面组件切换到该第一寄宿程序。
Description
技术领域
本申请涉及通信领域,尤其涉及一种用于在宿主程序中管理寄宿程序的技术。
背景技术
随着技术的进步,用户可以通过在用户设备中下载安装的宿主程序中再安装运行寄宿程序,例如,在应用程序中运行的小程序。用户在使用寄宿程序时,经常会遇到打开了多个寄宿程序的情况,当多个寄宿程序在后台运行时,如何更好的实现该多个寄宿程序间的自由切换成了需要亟待解决的问题。
发明内容
本申请的一个目的是提供一种在宿主程序中管理寄宿程序的方法与设备。
根据本申请的一个方面,提供了一种在宿主程序中管理寄宿程序的方法,该方法包括:
检测是否满足生成第一界面组件的触发条件;
若满足所述触发条件,生成第一寄宿程序对应的第一界面组件,其中,所述第一界面组件包括所述第一寄宿程序的标识信息;
在所述宿主程序的寄宿程序管理中心记录所述第一界面组件。
根据本申请的另一个方面,提供了一种在宿主程序中管理寄宿程序的设备,该设备包括:
一一模块,用于检测是否满足生成第一界面组件的触发条件;
一二模块,用于若满足所述触发条件,生成第一寄宿程序对应的第一界面组件,其中,所述第一界面组件包括所述第一寄宿程序的标识信息;
一三模块,用于在所述宿主程序的寄宿程序管理中心记录所述第一界面组件。
根据本申请的一个方面,提供了一种在宿主程序中管理寄宿程序的设备,该设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如上所述任一方法的操作。
根据本申请的另一个方面,提供了存储指令的计算机可读介质,所述指令在被执行时使得***进行如上所述任一方法的操作。
与现有技术相比,本申请基于满足生成第一界面组件的触发条件来生成第一寄宿程序对应的第一界面组件,并在寄宿程序管理中心中记录生成的第一寄宿程序,从而实现基于该第一界面组件切换到该第一寄宿程序。
同时,本申请通过第一界面组件保存第一寄宿程序的运行状态信息,并通过该第一界面组件将该第一寄宿程序与其他界面组件对应的寄宿程序相隔离,从而支持在多个寄宿程序间自由切换的同时保持该多个寄宿程序各自的状态。
进一步地,当再次打开该第一寄宿程序时,在该寄宿程序管理中心获取所述第一界面组件被切换至前台的操作,即可通过该第一界面组件将该第一寄宿程序切换至前台运行。
更进一步地,该寄宿程序管理中心中记录有一个或多个生成的界面组件,当获取该寄宿程序管理中心中第二界面组件被切换至前台的操作时,将所述第二界面组件从该寄宿程序管理中心切换至前台,以使得所述第二界面组件对应的第二寄宿程序在前台被执行,将所述第一界面组件切换至后台,以使所述第一寄宿程序切换至后台,从而实现多个寄宿程序间的自由切换。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个实施例的一种在宿主程序中管理寄宿程序的方法流程图;
图2示出根据本申请一个实施例的步骤S102的子流程图;
图3示出根据本申请另一个实施例的一种在宿主程序中管理寄宿程序的设备模块图;
图4示出根据本申请另一个实施例的一二模块的模块示意图;
图5示出可被用于实施本申请中所述的各个实施例的示例性***。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如,中央处理器(Central Processing Unit,CPU))、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RandomAccess Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(Flash Memory)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(Phase-Change Memory,PCM)、可编程随机存取存储器(Programmable Random Access Memory,PRAM)、静态随机存取存储器(Static Random-Access Memory,SRAM)、动态随机存取存储器(Dynamic Random AccessMemory,DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能光盘(Digital Versatile Disc,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请所指设备包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备包括但不限于任何一种可与用户进行人机交互(例如通过触摸板进行人机交互)的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作***,如android操作***、iOS操作***等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程逻辑器件(Programmable Logic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、数字信号处理器(Digital Signal Processor,DSP)、嵌入式设备等。所述网络设备包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,所述设备还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的程序。
当然,本领域技术人员应能理解上述设备仅为举例,其他现有的或今后可能出现的设备如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在本申请的描述中,“多个”的含义是两个或者更多,除非另有明确具体的限定。
图1示出了根据本申请一个实施例的一种在宿主程序中管理寄宿程序的方法流程图,其中,该方法包括步骤S101、步骤S102以及步骤S103。在步骤S101中,检测是否满足生成第一界面组件的触发条件;在步骤S102中,若满足所述触发条件,生成第一寄宿程序对应的第一界面组件,其中,所述第一界面组件包括所述第一寄宿程序的标识信息;在步骤S103中,在所述宿主程序的寄宿程序管理中心记录所述第一界面组件。在一些实施例中,所述宿主程序包括但不限于应用程序(例如,社交应用、支付应用、购物应用等)。在一些实施例中,所述宿主程序安装在用户设备上,其中,所述用户设备包括但不限于手机、平板、电脑等计算设备。在一些实施例中,所述寄宿程序包括但不限于小程序,所述寄宿程序可在所述宿主程序上运行。在一些实施例中,所述寄宿程序管理中心为所述宿主程序中的功能模块,在一些实施例中,所述功能模块为寄宿程序引擎的一部分(例如,小程序引擎中的一部分,所有打开小程序的行为都要经过该寄宿程序管理中心)。在一些实施例中,所述寄宿程序管理中心用于管理安装或运行在所述宿主程序中的一个或多个寄宿程序,例如,所述寄宿程序管理中心用于支持所述一个或多个寄宿程序的启动、运行;所述寄宿程序管理中心用于记录生成的第一界面组件。在一些实施例中,所述界面组件用于呈现、运行对应的寄宿程序。
具体而言,在步骤S101中,检测是否满足生成第一界面组件的触发条件。在一些实施例中,用户设备通过接收用户对该用户设备进行的触发操作来检测是否满足生成第一界面组件的触发条件。在一些实施例中,所述触发条件包括但不限于启动第一寄宿程序的操作,例如,用户通过点击该第一寄宿程序对应的图标打开该第一寄宿程序,当有启动宿主程序中的第一寄宿程序的事件发生时,用户设备判断满足生成第一界面组件的触发条件,进而生成该第一寄宿程序对应的第一界面组件。
在步骤S102中,若满足所述触发条件,生成第一寄宿程序对应的第一界面组件,其中,所述第一界面组件包括所述第一寄宿程序的标识信息。在一些实施例中,所述标识信息包括但不限于图标、名称等。在一些实施例中,所述第一界面组件为用户设备中的组件,所述第一界面组件用于展现其对应的第一寄宿程序,该第一界面组件中包括第一寄宿程序的标识信息,该标识信息用于寄宿程序管理中心根据该标识信息切换到对应的第一寄宿程序,例如,基于用户的点击切换操作(例如,点击被呈现于前台的第一界面组件),寄宿程序管理中心根据该第一界面组件中的第一寄宿程序的标识信息运行该第一寄宿程序。用户设备中预设有一个或多个界面组件资源,通过在所述界面组件资源中渲染对应的寄宿程序来生成该寄宿程序对应的界面组件。关于第一界面组件的生成,在Android***中对应的是Activity,用Activity做界面组件资源,在一些实施例中,Android***已经对Activity做了一些处理,比如资源创建、隔离、释放等,进一步地,基于第一寄宿程序的标识信息,在Manifest.xml里面定义界面组件,在代码中通过startActivity生成对应的第一界面组件;在iOS***中可采用UIView,在一些实施例中,需要宿主程序做UIView生命周期的管理,包括资源创建和释放,切换到后台等工作,进一步地,基于第一寄宿程序的标识信息生成对应的第一界面组件。
在步骤S103中,在所述宿主程序的寄宿程序管理中心记录所述第一界面组件。在一些实施例中,通过寄宿程序管理中心来进行一个或多个寄宿程序间的切换,寄宿程序管理中心通过记录生成的一个或多个界面组件来管理切换的过程。在一些实施例中,所述记录包括但不限于存储、注册(例如,赋予生成的界面组件唯一标识)、显示(例如,在该寄宿程序管理中心中显示生成的一个或多个界面组件)。
例如,用户设备上安装有宿主程序a(例如,社交应用a),该宿主程序a上安装有寄宿程序a1(例如,小程序a1)、寄宿程序a2(例如,小程序a2)、寄宿程序a3(例如,小程序a3)。用户通过点击寄宿程序a1的图标启用该寄宿程序a1,用户设备检测到该操作,并确定该操作满足生成界面组件的触发条件。进一步地,生成该寄宿程序a1对应的界面组件,例如,用户设备中预设了一个或多个界面组件资源,通过在该界面组件资源中渲染对应的寄宿程序来生成该寄宿程序对应的界面组件。例如,用户设备基于该触发条件在所述一个或多个界面组件资源中查找未被渲染的界面组件资源,并将该界面组件资源确定为第一界面组件资源,在该第一界面组件资源中渲染该寄宿程序a1,以生成该寄宿程序a1对应的第一界面组件,同时,将该寄宿程序a1的标识信息传入该第一界面组件。该宿主程序a中设置有寄宿程序管理中心,进一步地,在该寄宿程序管理中心记录生成的该第一界面组件。该第一界面组件用于展示其对应的第一寄宿程序(例如,本实施例中的寄宿程序a1),在寄宿程序管理中心中记录生成的一个或多个界面组件,每个界面组件对应有寄宿程序,当要切换寄宿程序时,通过该寄宿程序管理中心查找寄宿程序对应的界面组件,通过该界面组件展示运行对应的寄宿程序,从而实现多个寄宿程序间的自由切换。在一些实施例中,当界面组件对应的寄宿程序被切换至前台时,即该界面组件被切换至前台,从而支持通过界面组件来展示对应的寄宿程序。
在一些实施例中,所述触发条件包括以下至少任一项:检测到用于启用所述第一寄宿程序的操作;检测到用于将所述第一寄宿程序切换至后台的操作。
例如,所述触发条件包括检测到用于启用所述第一寄宿程序的操作。用户通过点击第一寄宿程序的图标来启用该第一寄宿程序,用户设备检测到该点击操作,并确定该点击操作满足生成界面组件的触发条件。即在用户打开第一寄宿程序时,生成该第一寄宿程序对应的第一界面组件。在一些实施例中,所述寄宿程序管理中心为宿主程序中的寄宿程序引擎(例如,小程序引擎),因此,可通过该寄宿程序管理中心获取并检测该启用第一寄宿程序的操作。在用户打开该第一寄宿程序时即生成对应的第一界面组件,以便于后续再次切换到该第一寄宿程序时可通过该第一界面组件进行自由切换。本实施例中,在启用第一寄宿程序时即生成该第一寄宿程序对应的第一界面组件,以便于切换该第一寄宿程序时通过该第一界面组件进行自由切换。
再例如,所述触发条件包括检测到用于将所述第一寄宿程序切换至后台的操作。在一些实施例中,后台运行有多个寄宿程序,当前被切换至前台的是第一寄宿程序还没有对应的第一界面组件,用户通过点击其他寄宿程序而将该其他寄宿程序切换至前台运行,从而将该第一寄宿程序切换至了后台,此时,生成该第一寄宿程序对应的第一界面组件,以便于后续再次切换到该第一寄宿程序时可通过该第一界面组件进行自由切换。本实施例中,考虑到当前运行的第一寄宿程序可能还没有对应的第一界面组件,在将该第一寄宿程序切换至后台时,生成该第一寄宿程序对应的第一界面组件,以便在再次切换该第一寄宿程序时通过该第一界面组件进行自由切换。
在一些实施例中,所述触发条件包括检测到用于将所述第一寄宿程序切换至后台的操作;其中,所述方法还包括步骤S104(未示出),在步骤S104中,将所述宿主程序的其它寄宿程序切换至前台,以使得所述其他寄宿程序在前台被执行;或者将所述宿主程序的其它寄宿程序对应的其它界面组件从所述寄宿程序管理中心切换至前台,以使得所述其他寄宿程序在前台被执行。在一些实施例中,通过其他寄宿程序被切换至了前台来判断该第一寄宿程序被切换至了后台。在一些实施例中,宿主程序中的其他寄宿程序切换至前台的操作没有经过寄宿程序管理中心,例如,该宿主程序中没有该寄宿程序管理中心,或者,该其他寄宿程序的启用操作没有经过该寄宿程序管理中心,用户设备只要获取该宿主程序中的其他寄宿程序切换至前台,即判定其满足“获取将所述第一寄宿程序切换至后台的操作”的触发条件,从而生成该第一寄宿程序对应的第一界面组件;在另一些实施例中,被切换至前台的其他寄宿程序已经生成有对应的其他界面组件,将该其他寄宿程序切换至前台的操作是通过该寄宿程序管理中心在生成的一个或多个其他界面组件中查找对应的其他界面组件,并将该其他界面组件切换到前台,从而将该其他界面组件对应的其他寄宿程序切换至前台,从而判断其满足“获取将所述第一寄宿程序切换至后台的操作”的触发条件,从而生成该第一寄宿程序对应的第一界面组件。本实施例中考虑到基于寄宿程序管理中心以及没有基于寄宿程序管理中心进行寄宿程序切换的两种情况,在这两种情况下,将其他寄宿程序切换至前台的操作均可判定为将第一寄宿程序切换到了后台,从而满足生成该第一寄宿程序对应的第一界面组件的触发条件。
在一些实施例中,所述方法还包括步骤S105(未示出),在步骤S105中,若在所述寄宿程序管理中心检测到用于将所述第一界面组件切换至前台的操作;将所述第一界面组件从所述寄宿程序管理中心切换至前台,以使得所述第一寄宿程序在前台被执行。在一些实施例中,在生成第一界面组件后,通过该第一界面组件即可实现对该第一寄宿程序的切换。例如,寄宿程序管理中心中记录有多个界面组件,每个界面组件中包括该界面组件对应的寄宿程序的标识信息。用户设备接收用户对该第一界面组件的切换操作,例如,前台呈现有多个界面组件,用户点击该第一界面组件,此时,该寄宿程序管理中心获取所述第一界面组件被切换至前台的操作,进一步地,该寄宿程序管理中心根据该第一界面组件中的第一寄宿程序的标识信息绑定该第一寄宿程序的运行数据,并将该第一寄宿程序在前台被执行。
在一些实施例中,所述触发条件包括检测到用于启用所述第一寄宿程序的操作;其中,所述方法还包括步骤S106(未示出),在步骤S106中,启用所述第一寄宿程序。在一些实施例中,所述触发条件为启用所述第一寄宿程序的操作,用户设备基于该操作启用该第一寄宿程序。在一些实施例中,所述第一寄宿程序被启用后即生成该第一寄宿程序对应的第一界面组件,当通过寄宿程序管理中心切换第二界面组件时,该第二界面组件被切换至前台,该第一界面组件被切换至后台,以实现通过生成的该第一界面组件来实现切换其他寄宿程序的目的。在一些实施例中,所述启用第一寄宿程序的操作是通过寄宿程序管理中心实现的,以使得该寄宿程序管理中心获取关于该第一寄宿程序的启用操作,并生成对应的第一界面组件。
在一些实施例中,所述方法还包括步骤S107(未示出),在步骤S107中,若检测到用于将所述寄宿程序管理中心中第二界面组件切换至前台的操作;将所述第二界面组件从所述寄宿程序管理中心切换至前台,以使得所述第二界面组件对应的第二寄宿程序在前台被执行;将所述第一界面组件切换至后台,以使所述第一寄宿程序切换至后台。在一些实施例中,通过启用第一寄宿程序触发生成该第一寄宿程序对应的第一界面组件后,即可通过该第一界面组件实现自由切换该第一寄宿程序。例如,当通过寄宿程序管理中心切换第二界面组件时,该第二界面组件被切换至前台,该第一界面组件被切换至后台,以实现将该第一寄宿程序通过该第一界面组件切换至后台,将该第二寄宿程序通过该第二界面组件在前台呈现运行,实现自由切换。
在一些实施例中,如图2所示,所述步骤S102包括步骤S1021以及步骤S1022。在步骤S1021中,从预设的一个或多个界面组件资源中确定所述第一寄宿程序对应的第一界面组件资源;在步骤S1022中,在所述第一界面组件资源中渲染所述第一寄宿程序,以生成所述第一寄宿程序对应的第一界面组件,其中,所述第一界面组件包括所述第一寄宿程序的标识信息。
具体而言,在步骤S1021中,从预设的一个或多个界面组件资源中确定所述第一寄宿程序对应的第一界面组件资源。在一些实施例中,用户设备中预设有一个或多个界面组件资源;在另一些实施例中,寄宿程序管理中心中预设有一个或多个界面组件资源。通过在所述界面组件资源中渲染对应的寄宿程序来生成界面组件。例如,关于第一界面组件的生成,在Android***中对应的是Activity,用Activity做界面组件资源,在一些实施例中,Android***已经对Activity做了一些处理,比如资源创建、隔离、释放等,进一步地,基于第一寄宿程序的标识信息,在Manifest.xml里面定义界面组件,在代码中通过startActivity生成对应的第一界面组件;在iOS***中可采用UIView,在一些实施例中,需要宿主程序做UIView生命周期的管理,包括资源创建和释放,切换到后台等工作,进一步地,基于第一寄宿程序的标识信息生成对应的第一界面组件。在一些实施例中,根据所述一个或多个界面组件资源的渲染状态信息确定所述第一寄宿程序对应的第一界面组件资源,例如,从所述一个或多个界面组件资源中查找未被渲染的界面组件资源,并将该界面组件资源确定为第一界面组件资源。在一些实施例中,所述界面组件资源包括界面标识信息,所述界面标识信息包括但不限于关于界面组件资源的编号信息,例如,预设有五个界面组件资源,所述五个界面组件资源分别用编号1、2、3、4、5进行区分。在一些实施例中,按照该界面标识信息查找确定第一界面资源,例如,在所述五个界面组件资源查找到编号为1的界面组件资源为未被渲染的空闲状态,将该编号为1的界面组件资源作为第一界面组件资源。通过该界面标识信息也可实现第一界面组件资源与第一寄宿程序的标识信息间的映射对应,以基于该界面标识信息查找切换到该第一寄宿程序,或者,基于该第一寄宿程序的标识信息查找到对应的第一界面组件资源。
在步骤S1022中,在所述第一界面组件资源中渲染所述第一寄宿程序,以生成所述第一寄宿程序对应的第一界面组件,其中,所述第一界面组件包括所述第一寄宿程序的标识信息。在一些实施例中,为了通过该第一界面组件呈现运行对应的第一寄宿程序,需要在所述第一界面组件资源中渲染该第一寄宿程序,以实现保持该第一寄宿程序的状态信息(例如,该第一寄宿程序被切换至后台时的界面状态信息)以及通过切换该第一界面组件来运行该第一寄宿程序的目的。对于根据第一寄宿程序渲染第一界面组件资源包括但不限于:绑定该寄宿程序的数据,以实现通过生成的第一界面组件即可运行第一寄宿程序;渲染该第一寄宿程序的标识信息,以实现通过该第一界面组件即可识别确定该第一界面组件对应的第一寄宿程序,从而实现通过各界面组件间的切换实现各寄宿程序间的切换。在一些实施例中,所述第一界面组件中包括该第一寄宿程序的标识信息,以在该第一界面组件中呈现该标识信息,方便用户选择确认;在一些实施例中,所述第一寄宿程序的标识信息用于与该第一界面组件形成关联映射,以便在切换时根据该第一界面组件查找到对应的第一寄宿程序,从而在该第一界面组件中运行以及展示该第一寄宿程序。
在一些实施例中,所述步骤S1021包括:根据每个界面组件资源的渲染状态信息从所述一个或多个界面组件资源中确定所述第一寄宿程序对应的第一界面组件资源。在一些实施例中,当接收到满足生成界面组件的触发条件后,用户设备需要从预设的一个或多个界面组件资源中确定用于生成界面组件的界面组件资源。为了充分利用所述一个或多个界面组件资源,在一些实施例中,用户设备根据所述一个或多个界面组件资源的渲染状态信息确定所述第一寄宿程序对应的第一界面组件资源。在一些实施例中,所述渲染状态信息包括该界面组件资源已经被渲染或者未被渲染。
在一些实施例中,所述步骤S1021包括:根据每个界面组件资源的渲染状态信息从所述一个或多个界面组件资源中查找当前待渲染的界面组件资源,将所述当前待渲染的界面组件资源确定为所述第一寄宿程序对应的第一界面组件资源。在一些实施例中,所述界面组件资源包括界面标识信息(例如,1#界面组件资源、2#界面组件资源、3#界面组件资源、4#界面组件资源、5#界面组件资源),在一些实施例中,为了各个寄宿程序能够更好的运行,用户设备中最多可预设五个界面组件资源。当检测到满足生成界面组件的触发条件时,用户设备根据该五个界面组件资源的渲染状态信息查找当前未被渲染的界面组件资源,例如,用户设备按照界面标识信息的顺序依次查找该五个界面组件资源的渲染状态信息,其中,5#界面组件资源未被渲染,用户设备将该5#界面组件资源确定为第一界面组件资源,并在该5#界面组件资源中渲染对应的第一寄宿程序。根据所述一个或多个界面组件资源的渲染状态信息查找用于渲染第一寄宿程序的第一界面组件资源,能够找到当前空闲的界面组件资源,从而更充分的利用该一个或多个界面组件资源,有利于资源的有效利用。
在一些实施例中,所述步骤S1021还包括:若未查找到所述当前待渲染的界面组件资源,将所述寄宿程序管理中心最早记录的界面组件的界面组件资源确定为所述第一寄宿程序对应的第一界面组件资源。为了能为第一寄宿程序及时有效的找到第一界面组件资源,当用户设备中预设的界面组件资源均已经被渲染时,用户设备根据寄宿程序管理中心记录的一个或多个界面组件的生成时间确定第一界面组件资源。当界面组件生成时,即在寄宿程序管理中心中记录该界面组件,因此,该寄宿程序管理中心中可保存该界面组件的生成时间。其中,每个界面组件均包括其对应的界面组件资源的界面标识信息,用户设备根据该界面标识信息可以识别预设的多个界面组件资源,从而确定当前可用的界面组件资源。在一些实施例中,为了均匀利用预设的一个或多个界面组件资源,用户设备根据每个界面组件资源生成界面组件的生成时间确定第一界面组件资源。例如,用户设备中预设了五个界面组件资源:1#界面组件资源、2#界面组件资源、3#界面组件资源、4#界面组件资源、5#界面组件资源,其中,1#界面组件资源生成界面组件的时间最早,用户设备将该1#界面组件资源确定为第一界面组件资源。
在一些实施例中,所述步骤S1021还包括:若未查找到所述当前待渲染的界面组件资源,将所述寄宿程序管理中心在前台执行时长最短的界面组件的界面组件资源确定为所述第一寄宿程序对应的第一界面组件资源。为了能为第一寄宿程序及时有效的找到第一界面组件资源,当用户设备中预设的界面组件资源均已经被渲染时,用户设备根据寄宿程序被切换至前台的时长信息确定第一界面组件资源。在一定程度上,寄宿程序被切换至前台的时长越长说明用户越喜欢用该寄宿程序,同理,寄宿程序被切换至前台的时长越短说明用户不是很喜欢用该寄宿程序。在一些实施例中,用户设备在寄宿程序管理中心中记录的一个或多个界面组件中查找被切换至前台的时长最短的界面组件所对应的界面组件资源,并将该界面组件资源确定为第一界面组件资源。通过将被切换至前台的时长最短的寄宿程序确定第一界面组件资源,能够为用户筛选掉不是很喜欢的寄宿呈现占用界面组件资源,从而能够更充分的利用好每个界面组件资源。
图3示出了根据本申请一个实施例的一种在宿主程序中管理寄宿程序的设备模块图,其中,该设备包括一一模块、一二模块以及一三模块。一一模块,用于检测是否满足生成第一界面组件的触发条件;一二模块,用于若满足所述触发条件,生成第一寄宿程序对应的第一界面组件,其中,所述第一界面组件包括所述第一寄宿程序的标识信息;一三模块,用于在所述宿主程序的寄宿程序管理中心记录所述第一界面组件。在一些实施例中,所述宿主程序包括但不限于应用程序(例如,社交应用、支付应用、购物应用等)。在一些实施例中,所述宿主程序安装在用户设备上,其中,所述用户设备包括但不限于手机、平板、电脑等计算设备。在一些实施例中,所述寄宿程序包括但不限于小程序,所述寄宿程序可在所述宿主程序上运行。在一些实施例中,所述寄宿程序管理中心为所述宿主程序中的功能模块,在一些实施例中,所述功能模块为寄宿程序引擎的一部分(例如,小程序引擎中的一部分,所有打开小程序的行为都要经过该寄宿程序管理中心)。在一些实施例中,所述寄宿程序管理中心用于管理安装或运行在所述宿主程序中的一个或多个寄宿程序,例如,所述寄宿程序管理中心用于支持所述一个或多个寄宿程序的启动、运行;所述寄宿程序管理中心用于记录生成的第一界面组件。在一些实施例中,所述界面组件用于呈现、运行对应的寄宿程序。
具体而言,一一模块,用于检测是否满足生成第一界面组件的触发条件。在一些实施例中,用户设备通过接收用户对该用户设备进行的触发操作来检测是否满足生成第一界面组件的触发条件。在一些实施例中,所述触发条件包括但不限于启动第一寄宿程序的操作,例如,用户通过点击该第一寄宿程序对应的图标打开该第一寄宿程序,当有启动宿主程序中的第一寄宿程序的事件发生时,用户设备判断满足生成第一界面组件的触发条件,进而生成该第一寄宿程序对应的第一界面组件。
一二模块,用于若满足所述触发条件,生成第一寄宿程序对应的第一界面组件,其中,所述第一界面组件包括所述第一寄宿程序的标识信息。在一些实施例中,所述标识信息包括但不限于图标、名称等。在一些实施例中,所述第一界面组件为用户设备中的组件,所述第一界面组件用于展现其对应的第一寄宿程序,该第一界面组件中包括第一寄宿程序的标识信息,该标识信息用于寄宿程序管理中心根据该标识信息切换到对应的第一寄宿程序,例如,基于用户的点击切换操作(例如,点击被呈现于前台的第一界面组件),寄宿程序管理中心根据该第一界面组件中的第一寄宿程序的标识信息运行该第一寄宿程序。用户设备中预设有一个或多个界面组件资源,通过在所述界面组件资源中渲染对应的寄宿程序来生成该寄宿程序对应的界面组件。关于第一界面组件的生成,在Android***中对应的是Activity,用Activity做界面组件资源,在一些实施例中,Android***已经对Activity做了一些处理,比如资源创建、隔离、释放等,进一步地,基于第一寄宿程序的标识信息,在Manifest.xml里面定义界面组件,在代码中通过startActivity生成对应的第一界面组件;在iOS***中可采用UIView,在一些实施例中,需要宿主程序做UIView生命周期的管理,包括资源创建和释放,切换到后台等工作,进一步地,基于第一寄宿程序的标识信息生成对应的第一界面组件。
一三模块,用于在所述宿主程序的寄宿程序管理中心记录所述第一界面组件。在一些实施例中,通过寄宿程序管理中心来进行一个或多个寄宿程序间的切换,寄宿程序管理中心通过记录生成的一个或多个界面组件来管理切换的过程。在一些实施例中,所述记录包括但不限于存储、注册(例如,赋予生成的界面组件唯一标识)、显示(例如,在该寄宿程序管理中心中显示生成的一个或多个界面组件)。
例如,用户设备上安装有宿主程序a(例如,社交应用a),该宿主程序a上安装有寄宿程序a1(例如,小程序a1)、寄宿程序a2(例如,小程序a2)、寄宿程序a3(例如,小程序a3)。用户通过点击寄宿程序a1的图标启用该寄宿程序a1,用户设备检测到该操作,并确定该操作满足生成界面组件的触发条件。进一步地,生成该寄宿程序a1对应的界面组件,例如,用户设备中预设了一个或多个界面组件资源,通过在该界面组件资源中渲染对应的寄宿程序来生成该寄宿程序对应的界面组件。例如,用户设备基于该触发条件在所述一个或多个界面组件资源中查找未被渲染的界面组件资源,并将该界面组件资源确定为第一界面组件资源,在该第一界面组件资源中渲染该寄宿程序a1,以生成该寄宿程序a1对应的第一界面组件,同时,将该寄宿程序a1的标识信息传入该第一界面组件。该宿主程序a中设置有寄宿程序管理中心,进一步地,在该寄宿程序管理中心记录生成的该第一界面组件。该第一界面组件用于展示其对应的第一寄宿程序(例如,本实施例中的寄宿程序a1),在寄宿程序管理中心中记录生成的一个或多个界面组件,每个界面组件对应有寄宿程序,当要切换寄宿程序时,通过该寄宿程序管理中心查找寄宿程序对应的界面组件,通过该界面组件展示运行对应的寄宿程序,从而实现多个寄宿程序间的自由切换。在一些实施例中,当界面组件对应的寄宿程序被切换至前台时,即该界面组件被切换至前台,从而支持通过界面组件来展示对应的寄宿程序。
在一些实施例中,所述触发条件包括以下至少任一项:检测到用于启用所述第一寄宿程序的操作;检测到用于将所述第一寄宿程序切换至后台的操作。
例如,所述触发条件包括检测到用于启用所述第一寄宿程序的操作。用户通过点击第一寄宿程序的图标来启用该第一寄宿程序,用户设备检测到该点击操作,并确定该点击操作满足生成界面组件的触发条件。即在用户打开第一寄宿程序时,生成该第一寄宿程序对应的第一界面组件。在一些实施例中,所述寄宿程序管理中心为宿主程序中的寄宿程序引擎(例如,小程序引擎),因此,可通过该寄宿程序管理中心获取并检测该启用第一寄宿程序的操作。在用户打开该第一寄宿程序时即生成对应的第一界面组件,以便于后续再次切换到该第一寄宿程序时可通过该第一界面组件进行自由切换。本实施例中,在启用第一寄宿程序时即生成该第一寄宿程序对应的第一界面组件,以便于切换该第一寄宿程序时通过该第一界面组件进行自由切换。
再例如,所述触发条件包括检测到用于将所述第一寄宿程序切换至后台的操作。在一些实施例中,后台运行有多个寄宿程序,当前被切换至前台的是第一寄宿程序还没有对应的第一界面组件,用户通过点击其他寄宿程序而将该其他寄宿程序切换至前台运行,从而将该第一寄宿程序切换至了后台,此时,生成该第一寄宿程序对应的第一界面组件,以便于后续再次切换到该第一寄宿程序时可通过该第一界面组件进行自由切换。本实施例中,考虑到当前运行的第一寄宿程序可能还没有对应的第一界面组件,在将该第一寄宿程序切换至后台时,生成该第一寄宿程序对应的第一界面组件,以便在再次切换该第一寄宿程序时通过该第一界面组件进行自由切换。
在一些实施例中,所述触发条件包括检测到用于将所述第一寄宿程序切换至后台的操作;其中,所述设备还包括一四模块(未示出),一四模块,用于将所述宿主程序的其它寄宿程序切换至前台,以使得所述其他寄宿程序在前台被执行;或者将所述宿主程序的其它寄宿程序对应的其它界面组件从所述寄宿程序管理中心切换至前台,以使得所述其他寄宿程序在前台被执行。在一些实施例中,通过其他寄宿程序被切换至了前台来判断该第一寄宿程序被切换至了后台。在一些实施例中,宿主程序中的其他寄宿程序切换至前台的操作没有经过寄宿程序管理中心,例如,该宿主程序中没有该寄宿程序管理中心,或者,该其他寄宿程序的启用操作没有经过该寄宿程序管理中心,用户设备只要获取该宿主程序中的其他寄宿程序切换至前台,即判定其满足“获取将所述第一寄宿程序切换至后台的操作”的触发条件,从而生成该第一寄宿程序对应的第一界面组件;在另一些实施例中,被切换至前台的其他寄宿程序已经生成有对应的其他界面组件,将该其他寄宿程序切换至前台的操作是通过该寄宿程序管理中心在生成的一个或多个其他界面组件中查找对应的其他界面组件,并将该其他界面组件切换到前台,从而将该其他界面组件对应的其他寄宿程序切换至前台,从而判断其满足“获取将所述第一寄宿程序切换至后台的操作”的触发条件,从而生成该第一寄宿程序对应的第一界面组件。本实施例中考虑到基于寄宿程序管理中心以及没有基于寄宿程序管理中心进行寄宿程序切换的两种情况,在这两种情况下,将其他寄宿程序切换至前台的操作均可判定为将第一寄宿程序切换到了后台,从而满足生成该第一寄宿程序对应的第一界面组件的触发条件。
在一些实施例中,所述设备还包括一五模块(未示出),一五模块,若在所述寄宿程序管理中心检测到用于将所述第一界面组件切换至前台的操作;将所述第一界面组件从所述寄宿程序管理中心切换至前台,以使得所述第一寄宿程序在前台被执行。在一些实施例中,在生成第一界面组件后,通过该第一界面组件即可实现对该第一寄宿程序的切换。例如,寄宿程序管理中心中记录有多个界面组件,每个界面组件中包括该界面组件对应的寄宿程序的标识信息。用户设备接收用户对该第一界面组件的切换操作,例如,前台呈现有多个界面组件,用户点击该第一界面组件,此时,该寄宿程序管理中心获取所述第一界面组件被切换至前台的操作,进一步地,该寄宿程序管理中心根据该第一界面组件中的第一寄宿程序的标识信息绑定该第一寄宿程序的运行数据,并将该第一寄宿程序在前台被执行。
在一些实施例中,所述触发条件包括检测到用于启用所述第一寄宿程序的操作;其中,所述设备还包括一六模块(未示出),一六模块,用于启用所述第一寄宿程序。在一些实施例中,所述触发条件为启用所述第一寄宿程序的操作,用户设备基于该操作启用该第一寄宿程序。在一些实施例中,所述第一寄宿程序被启用后即生成该第一寄宿程序对应的第一界面组件,当通过寄宿程序管理中心切换第二界面组件时,该第二界面组件被切换至前台,该第一界面组件被切换至后台,以实现通过生成的该第一界面组件来实现切换其他寄宿程序的目的。在一些实施例中,所述启用第一寄宿程序的操作是通过寄宿程序管理中心实现的,以使得该寄宿程序管理中心获取关于该第一寄宿程序的启用操作,并生成对应的第一界面组件。
在一些实施例中,所述设备还包括一七模块(未示出),一七模块,用于若检测到用于将所述寄宿程序管理中心中第二界面组件切换至前台的操作;将所述第二界面组件从所述寄宿程序管理中心切换至前台,以使得所述第二界面组件对应的第二寄宿程序在前台被执行;将所述第一界面组件切换至后台,以使所述第一寄宿程序切换至后台。在一些实施例中,通过启用第一寄宿程序触发生成该第一寄宿程序对应的第一界面组件后,即可通过该第一界面组件实现自由切换该第一寄宿程序。例如,当通过寄宿程序管理中心切换第二界面组件时,该第二界面组件被切换至前台,该第一界面组件被切换至后台,以实现将该第一寄宿程序通过该第一界面组件切换至后台,将该第二寄宿程序通过该第二界面组件在前台呈现运行,实现自由切换。
在一些实施例中,如图4所示,所述一二模块包括一二一模块以及一二二模块。一二一模块,用于从预设的一个或多个界面组件资源中确定所述第一寄宿程序对应的第一界面组件资源;一二二模块,用于在所述第一界面组件资源中渲染所述第一寄宿程序,以生成所述第一寄宿程序对应的第一界面组件,其中,所述第一界面组件包括所述第一寄宿程序的标识信息。
具体而言,一二一模块,用于从预设的一个或多个界面组件资源中确定所述第一寄宿程序对应的第一界面组件资源。在一些实施例中,用户设备中预设有一个或多个界面组件资源;在另一些实施例中,寄宿程序管理中心中预设有一个或多个界面组件资源。通过在所述界面组件资源中渲染对应的寄宿程序来生成界面组件。例如,关于第一界面组件的生成,在Android***中对应的是Activity,用Activity做界面组件资源,在一些实施例中,Android***已经对Activity做了一些处理,比如资源创建、隔离、释放等,进一步地,基于第一寄宿程序的标识信息,在Manifest.xml里面定义界面组件,在代码中通过startActivity生成对应的第一界面组件;在iOS***中可采用UIView,在一些实施例中,需要宿主程序做UIView生命周期的管理,包括资源创建和释放,切换到后台等工作,进一步地,基于第一寄宿程序的标识信息生成对应的第一界面组件。在一些实施例中,根据所述一个或多个界面组件资源的渲染状态信息确定所述第一寄宿程序对应的第一界面组件资源,例如,从所述一个或多个界面组件资源中查找未被渲染的界面组件资源,并将该界面组件资源确定为第一界面组件资源。在一些实施例中,所述界面组件资源包括界面标识信息,所述界面标识信息包括但不限于关于界面组件资源的编号信息,例如,预设有五个界面组件资源,所述五个界面组件资源分别用编号1、2、3、4、5进行区分。在一些实施例中,按照该界面标识信息查找确定第一界面资源,例如,在所述五个界面组件资源查找到编号为1的界面组件资源为未被渲染的空闲状态,将该编号为1的界面组件资源作为第一界面组件资源。通过该界面标识信息也可实现第一界面组件资源与第一寄宿程序的标识信息间的映射对应,以基于该界面标识信息查找切换到该第一寄宿程序,或者,基于该第一寄宿程序的标识信息查找到对应的第一界面组件资源。
一二二模块,用于在所述第一界面组件资源中渲染所述第一寄宿程序,以生成所述第一寄宿程序对应的第一界面组件,其中,所述第一界面组件包括所述第一寄宿程序的标识信息。对于根据第一寄宿程序渲染第一界面组件资源包括但不限于:绑定该寄宿程序的数据,以实现通过生成的第一界面组件即可运行第一寄宿程序;渲染该第一寄宿程序的标识信息,以实现通过该第一界面组件即可识别确定该第一界面组件对应的第一寄宿程序,从而实现通过各界面组件间的切换实现各寄宿程序间的切换。在一些实施例中,为了通过该第一界面组件呈现运行对应的第一寄宿程序,需要在所述第一界面组件资源中渲染该第一寄宿程序,以实现保持该第一寄宿程序的状态信息(例如,该第一寄宿程序被切换至后台时的界面状态信息)以及通过切换该第一界面组件来运行该第一寄宿程序的目的。在一些实施例中,所述第一界面组件中包括该第一寄宿程序的标识信息,以在该第一界面组件中呈现该标识信息,方便用户选择确认;在一些实施例中,所述第一寄宿程序的标识信息用于与该第一界面组件形成关联映射,以便在切换时根据该第一界面组件查找到对应的第一寄宿程序,从而在该第一界面组件中运行以及展示该第一寄宿程序。
在一些实施例中,所述一二一模块用于:根据每个界面组件资源的渲染状态信息从所述一个或多个界面组件资源中确定所述第一寄宿程序对应的第一界面组件资源。在一些实施例中,当接收到满足生成界面组件的触发条件后,用户设备需要从预设的一个或多个界面组件资源中确定用于生成界面组件的界面组件资源。为了充分利用所述一个或多个界面组件资源,在一些实施例中,用户设备根据所述一个或多个界面组件资源的渲染状态信息确定所述第一寄宿程序对应的第一界面组件资源。在一些实施例中,所述渲染状态信息包括该界面组件资源已经被渲染或者未被渲染。
在一些实施例中,所述一二一模块用于:根据每个界面组件资源的渲染状态信息从所述一个或多个界面组件资源中查找当前待渲染的界面组件资源,将所述当前待渲染的界面组件资源确定为所述第一寄宿程序对应的第一界面组件资源。在一些实施例中,所述界面组件资源包括界面标识信息(例如,1#界面组件资源、2#界面组件资源、3#界面组件资源、4#界面组件资源、5#界面组件资源),在一些实施例中,为了各个寄宿程序能够更好的运行,用户设备中最多可预设五个界面组件资源。当检测到满足生成界面组件的触发条件时,用户设备根据该五个界面组件资源的渲染状态信息查找当前未被渲染的界面组件资源,例如,用户设备按照界面标识信息的顺序依次查找该五个界面组件资源的渲染状态信息,其中,5#界面组件资源未被渲染,用户设备将该5#界面组件资源确定为第一界面组件资源,并在该5#界面组件资源中渲染对应的第一寄宿程序。根据所述一个或多个界面组件资源的渲染状态信息查找用于渲染第一寄宿程序的第一界面组件资源,能够找到当前空闲的界面组件资源,从而更充分的利用该一个或多个界面组件资源,有利于资源的有效利用。
在一些实施例中,所述一二一模块还用于:若未查找到所述当前待渲染的界面组件资源,将所述寄宿程序管理中心最早记录的界面组件的界面组件资源确定为所述第一寄宿程序对应的第一界面组件资源。为了能为第一寄宿程序及时有效的找到第一界面组件资源,当用户设备中预设的界面组件资源均已经被渲染时,用户设备根据寄宿程序管理中心记录的一个或多个界面组件的生成时间确定第一界面组件资源。当界面组件生成时,即在寄宿程序管理中心中记录该界面组件,因此,该寄宿程序管理中心中可保存该界面组件的生成时间。其中,每个界面组件均包括其对应的界面组件资源的界面标识信息,用户设备根据该界面标识信息可以识别预设的多个界面组件资源,从而确定当前可用的界面组件资源。在一些实施例中,为了均匀利用预设的一个或多个界面组件资源,用户设备根据每个界面组件资源生成界面组件的生成时间确定第一界面组件资源。例如,用户设备中预设了五个界面组件资源:1#界面组件资源、2#界面组件资源、3#界面组件资源、4#界面组件资源、5#界面组件资源,其中,1#界面组件资源生成界面组件的时间最早,用户设备将该1#界面组件资源确定为第一界面组件资源。
在一些实施例中,所述一二一模块还用于:若未查找到所述当前待渲染的界面组件资源,将所述寄宿程序管理中心在前台执行时长最短的界面组件的界面组件资源确定为所述第一寄宿程序对应的第一界面组件资源。为了能为第一寄宿程序及时有效的找到第一界面组件资源,当用户设备中预设的界面组件资源均已经被渲染时,用户设备根据寄宿程序被切换至前台的时长信息确定第一界面组件资源。在一定程度上,寄宿程序被切换至前台的时长越长说明用户越喜欢用该寄宿程序,同理,寄宿程序被切换至前台的时长越短说明用户不是很喜欢用该寄宿程序。在一些实施例中,用户设备在寄宿程序管理中心中记录的一个或多个界面组件中查找被切换至前台的时长最短的界面组件所对应的界面组件资源,并将该界面组件资源确定为第一界面组件资源。通过将被切换至前台的时长最短的寄宿程序确定第一界面组件资源,能够为用户筛选掉不是很喜欢的寄宿呈现占用界面组件资源,从而能够更充分的利用好每个界面组件资源。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前任一项所述的方法。
图5示出了可被用于实施本申请中所述的各个实施例的示例性***;
如5图所示在一些实施例中,***300能够作为各所述实施例中的任意一个设备。在一些实施例中,***300可包括具有指令的一个或多个计算机可读介质(例如,***存储器或NVM/存储设备320)以及与该一个或多个计算机可读介质耦合并被配置为执行指令以实现模块从而执行本申请中所述的动作的一个或多个处理器(例如,(一个或多个)处理器305)。
对于一个实施例,***控制模块310可包括任意适当的接口控制器,以向(一个或多个)处理器305中的至少一个和/或与***控制模块310通信的任意适当的设备或组件提供任意适当的接口。
***控制模块310可包括存储器控制器模块330,以向***存储器315提供接口。存储器控制器模块330可以是硬件模块、软件模块和/或固件模块。
***存储器315可被用于例如为***300加载和存储数据和/或指令。对于一个实施例,***存储器315可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,***存储器315可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,***控制模块310可包括一个或多个输入/输出(I/O)控制器,以向NVM/存储设备320及(一个或多个)通信接口325提供接口。
例如,NVM/存储设备320可被用于存储数据和/或指令。NVM/存储设备320可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备320可包括在物理上作为***300被安装在其上的设备的一部分的存储资源,或者其可被该设备访问而不必作为该设备的一部分。例如,NVM/存储设备320可通过网络经由(一个或多个)通信接口325进行访问。
(一个或多个)通信接口325可为***300提供接口以通过一个或多个网络和/或与任意其他适当的设备通信。***300可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信。
对于一个实施例,(一个或多个)处理器305中的至少一个可与***控制模块310的一个或多个控制器(例如,存储器控制器模块330)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器305中的至少一个可与***控制模块310的一个或多个控制器的逻辑封装在一起以形成***级封装(SiP)。对于一个实施例,(一个或多个)处理器305中的至少一个可与***控制模块310的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器305中的至少一个可与***控制模块310的一个或多个控制器的逻辑集成在同一模具上以形成片上***(SoC)。
在各个实施例中,***300可以但不限于是:服务器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)。在各个实施例中,***300可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,***300包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。本领域技术人员应能理解,计算机程序指令在计算机可读介质中的存在形式包括但不限于源文件、可执行文件、安装包文件等,相应地,计算机程序指令被计算机执行的方式包括但不限于:该计算机直接执行该指令,或者该计算机编译该指令后再执行对应的编译后程序,或者该计算机读取并执行该指令,或者该计算机读取并安装该指令后再执行对应的安装后程序。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。
通信介质包括藉此包含例如计算机可读指令、数据结构、程序模块或其他数据的通信信号被从一个***传送到另一***的介质。通信介质可包括有导的传输介质(诸如电缆和线(例如,光纤、同轴等))和能传播能量波的无线(未有导的传输)介质,诸如声音、电磁、RF、微波和红外。计算机可读指令、数据结构、程序模块或其他数据可被体现为例如无线介质(诸如载波或诸如被体现为扩展频谱技术的一部分的类似机制)中的已调制数据信号。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。调制可以是模拟的、数字的或混合调制技术。
作为示例而非限制,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括,但不限于,易失性存储器,诸如随机存储器(RAM,DRAM,SRAM);以及非易失性存储器,诸如闪存、各种只读存储器(ROM,PROM,EPROM,EEPROM)、磁性和铁磁/铁电存储器(MRAM,FeRAM);以及磁性和光学存储设备(硬盘、磁带、CD、DVD);或其它现在已知的介质或今后开发的能够存储供计算机***使用的计算机可读信息/数据。
在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (13)
1.一种在宿主程序中管理寄宿程序的方法,其特征在于,所述方法包括:
检测是否满足生成第一界面组件的触发条件;
若满足所述触发条件,生成第一寄宿程序对应的第一界面组件,其中,所述第一界面组件包括所述第一寄宿程序的标识信息;
在所述宿主程序的寄宿程序管理中心记录所述第一界面组件。
2.根据权利要求1所述的方法,其特征在于,所述触发条件包括以下至少任一项:
检测到用于启用所述第一寄宿程序的操作;
检测到用于将所述第一寄宿程序切换至后台的操作。
3.根据权利要求2所述的方法,其特征在于,所述触发条件包括检测到用于将所述第一寄宿程序切换至后台的操作;
其中,所述方法还包括:
将所述宿主程序的其它寄宿程序切换至前台,以使得所述其他寄宿程序在前台被执行;或者将所述宿主程序的其它寄宿程序对应的其它界面组件从所述寄宿程序管理中心切换至前台,以使得所述其他寄宿程序在前台被执行。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若在所述寄宿程序管理中心检测到用于将所述第一界面组件切换至前台的操作;
将所述第一界面组件从所述寄宿程序管理中心切换至前台,以使得所述第一寄宿程序在前台被执行。
5.根据权利要求2所述的方法,其特征在于,所述触发条件包括检测到用于启用所述第一寄宿程序的操作;
其中,所述方法还包括:
启用所述第一寄宿程序。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若检测到用于将所述寄宿程序管理中心中第二界面组件切换至前台的操作;
将所述第二界面组件从所述寄宿程序管理中心切换至前台,以使得所述第二界面组件对应的第二寄宿程序在前台被执行;
将所述第一界面组件切换至后台,以使所述第一寄宿程序切换至后台。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述若满足所述触发条件,生成第一寄宿程序对应的第一界面组件,包括:
从预设的一个或多个界面组件资源中确定所述第一寄宿程序对应的第一界面组件资源;
在所述第一界面组件资源中渲染所述第一寄宿程序,以生成所述第一寄宿程序对应的第一界面组件,其中,所述第一界面组件包括所述第一寄宿程序的标识信息。
8.根据权利要求7所述的方法,其特征在于,所述从预设的一个或多个界面组件资源中确定所述第一寄宿程序对应的第一界面组件资源,包括:
根据每个界面组件资源的渲染状态信息从所述一个或多个界面组件资源中确定所述第一寄宿程序对应的第一界面组件资源。
9.根据权利要求8所述的方法,其特征在于,所述根据每个界面组件资源的渲染状态信息从所述一个或多个界面组件资源中确定所述第一寄宿程序对应的第一界面组件资源,包括:
根据每个界面组件资源的渲染状态信息从所述一个或多个界面组件资源中查找当前待渲染的界面组件资源,将所述当前待渲染的界面组件资源确定为所述第一寄宿程序对应的第一界面组件资源。
10.根据权利要求9所述的方法,其特征在于,所述根据每个界面组件资源的渲染状态信息从所述一个或多个界面组件资源中查找当前待渲染的界面组件资源,将所述当前待渲染的界面组件资源确定为所述第一寄宿程序对应的第一界面组件资源,还包括:
若未查找到所述当前待渲染的界面组件资源,将所述寄宿程序管理中心最早记录的界面组件的界面组件资源确定为所述第一寄宿程序对应的第一界面组件资源。
11.根据权利要求9所述的方法,其特征在于,所述根据每个界面组件资源的渲染状态信息从所述一个或多个界面组件资源中查找当前待渲染的界面组件资源,将所述当前待渲染的界面组件资源确定为所述第一寄宿程序对应的第一界面组件资源,还包括:
若未查找到所述当前待渲染的界面组件资源,将所述寄宿程序管理中心中在前台执行时长最短的界面组件的界面组件资源确定为所述第一寄宿程序对应的第一界面组件资源。
12.一种在宿主程序中管理寄宿程序的设备,其中,该设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如权利要求1至11中任一项方法所述的操作。
13.一种存储指令的计算机可读介质,所述指令在被执行时使得***进行如权利要求1至11中任一项方法所述的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910265259.1A CN110321205B (zh) | 2019-04-03 | 2019-04-03 | 一种在宿主程序中管理寄宿程序的方法与设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910265259.1A CN110321205B (zh) | 2019-04-03 | 2019-04-03 | 一种在宿主程序中管理寄宿程序的方法与设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110321205A true CN110321205A (zh) | 2019-10-11 |
CN110321205B CN110321205B (zh) | 2021-07-30 |
Family
ID=68113262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910265259.1A Active CN110321205B (zh) | 2019-04-03 | 2019-04-03 | 一种在宿主程序中管理寄宿程序的方法与设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110321205B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113377504A (zh) * | 2020-03-10 | 2021-09-10 | 成都龙兵科技有限公司 | 一种小程序的后台切换管理*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1208889A (zh) * | 1997-07-25 | 1999-02-24 | 太阳微***有限公司 | 可分java小程序 |
US20160134740A1 (en) * | 2014-07-11 | 2016-05-12 | Steven Samuel Gal | Mobile device application execution |
CN106802803A (zh) * | 2017-01-06 | 2017-06-06 | 腾讯科技(深圳)有限公司 | 应用数据处理的方法和装置 |
CN108196930A (zh) * | 2018-01-18 | 2018-06-22 | 腾讯科技(深圳)有限公司 | 应用程序处理方法、装置、存储介质和计算机设备 |
CN108920266A (zh) * | 2018-06-27 | 2018-11-30 | 努比亚技术有限公司 | 程序切换方法、智能终端及计算机可读存储介质 |
-
2019
- 2019-04-03 CN CN201910265259.1A patent/CN110321205B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1208889A (zh) * | 1997-07-25 | 1999-02-24 | 太阳微***有限公司 | 可分java小程序 |
US20160134740A1 (en) * | 2014-07-11 | 2016-05-12 | Steven Samuel Gal | Mobile device application execution |
CN106802803A (zh) * | 2017-01-06 | 2017-06-06 | 腾讯科技(深圳)有限公司 | 应用数据处理的方法和装置 |
CN108196930A (zh) * | 2018-01-18 | 2018-06-22 | 腾讯科技(深圳)有限公司 | 应用程序处理方法、装置、存储介质和计算机设备 |
CN108920266A (zh) * | 2018-06-27 | 2018-11-30 | 努比亚技术有限公司 | 程序切换方法、智能终端及计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
HIDEAKI KAWABATA等: ""SanAdBox: Sandboxing third party advertising libraries in a mobile application"", 《2013 IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS (ICC)》 * |
张晓燕: ""微信‘小程序’开发的***实现及前景"", 《电子技术与软件工程》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113377504A (zh) * | 2020-03-10 | 2021-09-10 | 成都龙兵科技有限公司 | 一种小程序的后台切换管理*** |
Also Published As
Publication number | Publication date |
---|---|
CN110321205B (zh) | 2021-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110321189A (zh) | 一种在宿主程序中呈现寄宿程序的方法与设备 | |
WO2020221189A1 (zh) | 一种管理寄宿程序的方法与设备 | |
CN108958780A (zh) | 一种用于呈现寄宿程序的更新信息的方法与设备 | |
CN110336735A (zh) | 一种用于发送提醒消息的方法与设备 | |
CN110266505B (zh) | 一种管理会话群的方法与设备 | |
CN104052789A (zh) | 用于虚拟联网***的负载平衡 | |
CN109669709A (zh) | 一种区块链升级的数据迁移方法及数据迁移*** | |
CN110290557A (zh) | 一种加载应用内页面标签的方法与设备 | |
CN110502298A (zh) | 一种用于提供电子书的更新提醒信息的方法与设备 | |
CN110018920A (zh) | 一种页面展示异常的检测方法、装置及设备 | |
WO2021253890A1 (zh) | 一种在即时通信应用中回复通信信息的方法与设备 | |
CN110262810A (zh) | 一种安装应用的方法与设备 | |
CN110333955A (zh) | 一种管理应用中消息通知的方法与设备 | |
CN110413179A (zh) | 一种呈现会话消息的方法与设备 | |
CN110519250A (zh) | 一种提供信息流的方法与设备 | |
CN107977254A (zh) | 云数据***中请求的响应方法和计算机可读存储介质 | |
CN110336733A (zh) | 一种呈现表情包的方法与设备 | |
CN109947504A (zh) | 一种在宿主程序中执行寄宿程序的方法与设备 | |
CN105955743A (zh) | 资源数值转移请求生成的方法、装置和*** | |
CN108319688A (zh) | 一种用于对用户进行阅读提醒的方法与设备 | |
CN110502299A (zh) | 一种用于提供小说信息的方法与设备 | |
CN110286920A (zh) | 一种安装应用的方法与设备 | |
CN110321205A (zh) | 一种在宿主程序中管理寄宿程序的方法与设备 | |
WO2021047278A1 (zh) | 一种用于在社交空间发布分享信息的方法与设备 | |
CN110166955A (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 |