CN117616390A - 应用管理方法、装置、电子设备以及存储介质 - Google Patents
应用管理方法、装置、电子设备以及存储介质 Download PDFInfo
- Publication number
- CN117616390A CN117616390A CN202280004237.XA CN202280004237A CN117616390A CN 117616390 A CN117616390 A CN 117616390A CN 202280004237 A CN202280004237 A CN 202280004237A CN 117616390 A CN117616390 A CN 117616390A
- Authority
- CN
- China
- Prior art keywords
- configuration information
- application instance
- application
- target process
- instance
- 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.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims abstract description 33
- 238000000034 method Methods 0.000 claims abstract description 234
- 230000008569 process Effects 0.000 claims abstract description 211
- 230000015654 memory Effects 0.000 claims description 42
- 230000004807 localization Effects 0.000 claims description 7
- 230000003139 buffering effect Effects 0.000 claims description 2
- 230000004044 response Effects 0.000 claims description 2
- 239000000758 substrate Substances 0.000 claims 1
- 238000012545 processing Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000005291 magnetic effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004083 survival effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004793 poor memory Effects 0.000 description 2
- 230000026676 system process Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/445—Program loading or initiating
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本公开涉及电子设备技术领域,具体提供了一种应用管理方法、装置、电子设备以及存储介质。一种应用管理方法,包括:响应于由当前运行的第一应用实例切换至第二应用实例,将第一应用实例的第一配置信息缓存在当前运行的目标进程中;根据获取的第二应用实例的第二配置信息对目标进程初始化配置。本公开实施方式,实现单进程中多个应用的同时保活,提高应用启动效率。
Description
本公开涉及电子设备技术领域,具体涉及一种应用管理方法、装置、电子设备以及存储介质。
随着电子设备的飞速发展,电子设备中的应用程序(APP,Application)也越来越多。相关技术中,电子设备由应用程序A切换至应用程序B时,为了使得应用程序A可以在后台存活,需要保留应用程序A的进程,同时为应用程序B创建一个新的进程。
但是,对于一些轻量级电子设备,如穿戴设备,受限于内存空间及***能力,往往无法同时运行多个进程。从而在由应用程序A切换至应用程序B时,需要结束应用程序A的进程,重新创建应用程序B的进程,导致用户重新切回应用程序A时,需要重新初始化应用,体验较差。
发明内容
为实现多应用切换的效率,本公开实施方式提供了一种应用管理方法、装置、电子设备以及存储介质。
第一方面,本公开实施方式提供了一种应用管理方法,应用于电子设备,所述方法包括:
响应于由当前运行的第一应用实例切换至第二应用实例,获取所述第一应用实例当前的第一配置信息,并将所述第一配置信息缓存在当前运行的目标进程中;
获取第二应用实例的第二配置信息,并根据所述第二配置信息对所述目标进程初始化配置,以在所述目标进程中运行所述第二应用实例。
在一些实施方式中,所述响应于由当前运行的第一应用实例切换至第二应用实例,获取所述第一应用实例当前的第一配置信息,并将所述第一 配置信息缓存在当前运行的目标进程中,包括:
响应于由当前运行的第一应用实例切换至第二应用实例,获取所述第一应用实例的全局配置信息以及当前的状态参数;
根据所述全局配置信息和所述状态参数确定所述第一配置信息,并将所述第一配置信息缓存在所述目标进程中。
在一些实施方式中,本公开所述的方法,还包括:
响应于由当前运行的第二应用实例切换至所述第一应用实例,根据所述目标进程中缓存的所述第一应用实例的第一配置信息,配置所述目标进程。
在一些实施方式中,所述获取第二应用实例的第二配置信息,并根据所述第二配置信息对所述目标进程初始化配置,包括:
响应于所述目标进程中未缓存所述第二应用实例的第二配置信息,读取所述第二应用实例的程序文件,得到所述第二应用实例第二配置信息;
根据所述第二配置信息对所述目标进程初始化配置。
在一些实施方式中,所述获取第二应用实例的第二配置信息,并根据所述第二配置信息对所述目标进程初始化配置,包括:
响应于所述目标进程中已缓存所述第二应用实例的第二配置信息,获取所述目标进程中缓存的所述第二配置信息,并根据所述第二配置信息对所述目标进程初始化配置。
在一些实施方式中,根据所述第二配置信息对所述目标进程初始化配置,以在所述目标进程中运行所述第二应用实例,包括:
获取所述第二配置信息包括的全局配置信息和状态参数;
根据所述全局配置信息配置所述目标进程的应用环境,根据所述状态参数在所述目标进程中配置所述第二应用实例,以在所述目标进程中运行所述第二应用实例。
在一些实施方式中,所述第一配置信息和所述第二配置信息均包括以下中至少之一:
***能力接口信息、应用定时器信息、应用插件信息、多语言信息、本地化设置信息。
在一些实施方式中,所述电子设备包括可穿戴设备。
第二方面,本公开实施方式提供了一种应用管理装置,包括:
第一获取模块,被配置为响应于由当前运行的第一应用实例切换至第二应用实例,获取所述第一应用实例当前的第一配置信息,并将所述第一配置信息缓存在当前运行的目标进程中;
第二获取模块,被配置为获取第二应用实例的第二配置信息,并根据所述第二配置信息对所述目标进程初始化配置,以在所述目标进程中运行所述第二应用实例。
在一些实施方式中,所述第一获取模块被配置为:
响应于由当前运行的第一应用实例切换至第二应用实例,获取所述第一应用实例的全局配置信息以及当前的状态参数;
根据所述全局配置信息和所述状态参数确定所述第一配置信息,并将所述第一配置信息缓存在所述目标进程中。
在一些实施方式中,本公开的装置还包括配置模块,所述配置模块被配置为:
响应于由当前运行的第二应用实例切换至所述第一应用实例,根据所述目标进程中缓存的所述第一应用实例的第一配置信息,配置所述目标进程。
在一些实施方式中,所述第二获取模块,被配置为:
响应于所述目标进程中未缓存所述第二应用实例的第二配置信息,读取所述第二应用实例的程序文件,得到所述第二应用实例第二配置信息;
根据所述第二配置信息对所述目标进程初始化配置。
在一些实施方式中,所述第二获取模块,被配置为:
响应于所述目标进程中已缓存所述第二应用实例的第二配置信息,获取所述目标进程中缓存的所述第二配置信息,并根据所述第二配置信息对所述目标进程初始化配置。
在一些实施方式中,所述第二获取模块被配置为:
获取所述第二配置信息包括的全局配置信息和状态参数;
根据所述全局配置信息配置所述目标进程的应用环境,根据所述状态参数在所述目标进程中配置所述第二应用实例,以在所述目标进程中运行所述第二应用实例。
在一些实施方式中,所述第一配置信息和所述第二配置信息均包括以下中至少之一:
***能力接口信息、应用定时器信息、应用插件信息、多语言信息、本地化设置信息。
在一些实施方式中,所述电子设备包括可穿戴设备。
第三方面,本公开实施方式提供了一种电子设备,包括:
处理器;和
存储器,存储有计算机指令,所述计算机指令用于使所述处理器执行根据第一方面任意实施方式所述的方法。
第四方面,本公开实施方式提供了一种存储介质,存储有计算机指令,所述计算机指令用于使计算机执行根据第一方面任意实施方式所述的方法。
本公开实施方式的应用管理方法,包括响应于由当前运行的第一应用实例切换至第二应用实例,将第一应用实例的第一配置信息缓存在目标进程中,并且根据第二应用实例的第二配置信息对目标进程进行初始化配置,以在目标进程中运行第二应用实例。本公开实施方式中,在应用切换时无需建立新的进程,而且可以基于应用程序切换至后台时缓存的配置信息,在该应用程序被切换至前台时,无需重新启动该应用程序,可以直接通过缓存的配置信息实现该应用程序的运行,实现单进程中多个应用的同时保活,提高应用启动效率。
为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本公开一些实施方式中应用管理方法的流程图。
图2是根据本公开一些实施方式中应用管理方法的流程图。
图3是根据本公开一些实施方式中应用管理方法的流程图。
图4是根据本公开一些实施方式中应用管理方法的流程图。
图5是根据本公开一些实施方式中应用管理装置的结构框图。
图6是根据本公开一些实施方式中电子设备的结构框图。
下面将结合附图对本公开的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本公开一部分实施方式,而不是全部的实施方式。基于本公开中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本公开保护的范围。此外,下面所描述的本公开不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
随着电子设备的飞速发展,电子设备中的应用程序(APP,Application)也越来越多。相关技术中,电子设备在启动应用程序时,***会为该应用程序创建一个独立的进程,并为该进程分配一定的内存空间,通过该进程实现应用程序的功能。
对于智能手机、平板电脑等设备,其内存空间和硬件性能均较强,在同时开启多个应用程序时,***可以同时为每个应用程序创建独立的进程,在应用程序切换至后台运行时,由于***进程一直存在,从而可以保证应用程序在后台存活。
但是,对于智能手表、智能手环等设备而言,其内存空间较小且硬件性能受限,往往只能同时存在一个进程,本公开实施方式中,定义内存空间和硬件性能较差的设备为轻量级设备。
例如相关技术中,智能手表在开启应用程序A时,***为应用程序A创建单独的进程运行,当切换至应用程序B时,只能将应用程序A的进程结束,重新创建应用程序B的进程。而当用户再次切换至应用程序A时,由于应用程序A的进程已结束,***需要结束应用程序B的进程,再次重新创建应用程序A的进程,用户则需要重新等待应用程序A的启动。
由此可见,相关技术中,对于内存空间较小的轻量级电子设备,难以实现多应用的保活,导致设备的使用体验较差。
基于上述缺陷,本公开实施方式提供了一种应用管理方法、装置、电子设备以及存储介质,旨在基本不增加内存消耗的情况下,利用单进程实现多应用的同时保活,提高多应用切换的效率,尤其利于在低内存的轻量级电子设备上部署。
第一方面,本公开实施方式提供了一种应用管理方法,该方法可应用于电子设备。本公开实施方式中,对电子设备的具体类型不作限制,可以是任何适于实施的设备类型,例如智能手机、平板电脑、智能手表、智能手环等等,本公开对此不作限制。
但是,值得说明的是,虽然本公开实施方式中无需对电子设备的类型进行限制,但是本公开实施方式对于内存和硬件性能较差的轻量级设备效果更佳。这是由于,对于智能手机、平板电脑等设备来说,其内存空间和***性能较强,在多应用运行时,可为每个应用创建一个进程,从而保证多个应用均可以在后台存活。而对于智能手表、智能手环等设备来说,其内存空间十分受限,往往只能同时存在一个进程、甚至一个线程,因此利用本公开方法可以实现单进程或单线程的多应用同时存活,下文中结合实施方式进行说明。
首先,对本公开下文实施方式中出现的部分术语进行说明。
进程(Process):是***进行资源分配和调度的基本单元,进程是线程的容器。在电子设备***中,每个应用程序启动时,***会为该应用程序建立一个进程,并为该进程分配一定内存空间,根据该应用程序的相关配置信息对进程进行初始化配置,从而实现该应用程序的正确运行。
线程(Thread):是***能够进行运算调度的最小单元,其包含在进程之中,是进程中的实际运作单元。也即,一个进程中可以包括至少一个线程,每个线程并行执行不同的任务。例如某个应用程序启动时,该应用程序的进程中可以包括多个线程,每个线程负责执行不同的任务,从而实现应用程序的多种功能。
实例(Instance):在面向对象的编程中,通常把用类创建对象的过程称为实例化,创建对象即为实例。
可以理解,对于部分穿戴设备,其包括的应用程序本身为轻量化的应用,只能实现较为单一的功能,因此***在运行应用程序时,只能运行一个单独的线程,本公开实施方式中,即可将穿戴设备中运行的单独的线程理解为一 个进程。也即,本公开实施方式中的进程,可以是包括多个线程的进程,也可以是只包括一个线程的进程,本公开对此不作限制。
如图1所示,在一些实施方式中,本公开示例的应用管理方法,包括:
S110、响应于由当前运行的第一应用实例切换至第二应用实例,获取第一应用实例当前的第一配置信息,并将第一配置信息缓存在当前运行的目标进程中。
可以理解,应用实例是指进程中运行某个应用程序的实例。在本公开示例场景中,***由当前运行的某个应用程序切换至另一个应用程序,定义当前运行的应用程序为第一应用实例,定义切换后的另一个应用程序为第二应用实例。
***在运行第一应用实例时,会为第一应用实例建立一个进程,并为该进程分配内存。本公开实施方式中,多个应用实例均在同一个进程中实现应用切换,定义该***进程为目标进程。
在一些实施方式中,当***检测到当前运行的第一应用实例被切换至第二应用实例时,表示第一应用实例需要被切换至后台运行,第二应用实例保持前台运行。
在此情况下,本公开实施方式中,并非结束第一应用实例的进程,为第二应用实例重新建立新的进程,而是获取第一应用实例当前时刻的第一配置信息,并将第一配置信息缓存在当前运行的目标进程中。
应用实例的配置信息,是指运行应用程序时的相关配置信息,可以理解,应用程序在启动时,需要根据该应用程序所声明的相关配置信息对创建的进程进行初始化。并且,随着应用程序的运行,配置信息中的部分状态参数也会发生变化,其中,状态参数可包括定时任务参数、计时器参数等。
本公开实施方式中,在***由第一应用实例切换至第二应用实例时,可以获取第一应用实例当前时刻的相关配置信息以及状态参数,得到当前时刻的第一配置信息,然后将第一配置信息缓存在当前运行的目标进程内存中。
S120、获取第二应用实例的第二配置信息,并根据第二配置信息对目标进程初始化配置,以在目标进程中运行第二应用实例。
可以理解,本公开实施方式中,在由第一应用实例切换至第二应用实例时,无需结束运行第一应用实例的目标进程,而是基于第二应用实例所声明 的第二配置信息,对当前目标进程进行初始化配置,使得当前目标进程运行第二应用实例。
基于前述可知,目标进程为正常运行第二应用实例,需要根据第二应用实例对应的第二配置信息重新初始化配置。另外,结合步骤S110可知,本公开实施方式中,在由当前应用实例切换至其它应用实例时,会对当前应用实例的配置信息进行缓存。因此,本公开实施方式中,第二应用实例可能是之前开启过但是被切换至后台的应用程序,也可能是首次开启的应用程序。
在一些实施方式中,当第二应用实例为之前开启过但是被切换至后台的应用程序时,可以直接读取进程内存中缓存的第二应用实例的第二配置信息。在另一些实施方式中,当第二应用实例为首次开启的应用程序时,可以读取第二应用实例对应的程序文件(Application File),得到程序文件中声明的第二配置信息。本公开下文实施方式中对此进行说明,在此暂不详述。
在获取第二应用实例对应的第二配置信息之后,根据第二配置信息直接对当前运行的目标进程进行初始化配置,也即,本公开实施方式中,无需结束当前运行的目标进程,而是直接对当前运行的目标进程配置第二应用实例,从而在目标进程中运行第二应用实例。
值得说明的是,本公开实施方式中,由于无需结束当前运行第一应用实例的目标进程,也无需为第二应用实例重新建立进程,从而可以减少进程创建、内存分配等处理的时间,而且,对于第一应用实例和第二应用实例相同的全局配置信息也无需重复配置,只需更改对应的配置参数即可,大大降低了应用启动时间。
通过上述可知,本公开实施方式中,在应用切换时无需建立新的进程,而且可以基于应用程序切换至后台时缓存的配置信息,在该应用程序被切换至前台时,无需重新启动,实现单进程中多个应用的同时保活,提高应用启动效率。
在上述实施方式中,在目标进程中由第一应用实例切换至第二应用实例运行时,由于第一应用实例的第一配置信息缓存在目标进程中,因此在由第二应用实例再次切换至第一应用实例时,即可根据目标进程中缓存的第一配置信息初始化第一应用实例。
也即,本公开实施方式的应用管理方法,还包括:响应于由当前运行的 第二应用实例切换至第一应用实例,根据目标进程中缓存的第一应用实例的第一配置信息,配置目标进程。
本公开实施方式中,在***再次由第二应用实例切换至第一应用实例时,由于在S110中已经在进程内存中缓存了第一应用实例进入后台时的第一配置信息,从而可以直接从内存中读取第一应用实例的第一配置信息,然后根据第一配置信息对目标进程进行初始化配置,以使得第一应用实例可以保持进入后台时刻的状态继续在目标进程中正常运行,无需重新启动。
在一些实施方式中,在第一应用实例切换至后台运行时缓存的第一配置信息中,包括第一应用实例对应的全局配置信息、以及进入后台时刻对应的状态参数。
全局配置信息是指第一应用实例声明的运行所需的相关配置信息,状态参数是指随第一应用实例运行产生变化的参数,例如定时任务进度等。在第一应用实例切换至后台运行时,将当前时刻的状态参数进行保存,从而在第一应用实例再次切换至前台运行时,可以根据保存的状态参数继续运行,无需重新启动第一应用实例,实现第一应用实例的后台保活。
另外可以理解,本公开实施方式中,在第一应用实例与第二应用实例进行前后台切换运行时,两者可以运行在同一个目标进程中,而且两者可以在一个进程中同时存活,实现单进程多应用的保活。
如图2所示,在一些实施方式中,本公开示例的应用管理方法,包括:
S210、响应于当前运行的第一应用实例切换至第二应用实例,获取第一应用实例的全局配置信息以及当前的状态参数。
S220、根据全局配置信息和状态参数确定第一配置信息,并将第一配置信息缓存在目标进程中。
本公开实施方式中,***由第一应用实例切换至第二应用实例时,第一应用实例需要进入后台保持,第二应用实例在前台运行。
可以理解,第一应用实例在目标进程中运行时,需要在目标进程中根据第一应用实例的第一配置信息进行初始化配置。第一配置信息包括全局配置信息以及状态参数。
全局配置信息是指第一应用实例所声明的全局变量配置,其可以包括例如:***能力接口信息,用于声明应用实例所需的API(Application Programming Interface,应用程序接口);应用定时器信息,用于声明应用实例所需的定时器;应用插件信息,用于声明应用实例所需的插件相关信息;多语言信息,用于声明应用实例对应的语言信息;以及一些本地化设置信息。状态参数是指第一应用实例对应的动态参数,其可以随第一应用实例的运行发生变化,例如定时任务参数、计时器参数等。
第一应用实例在目标进程运行过程中,若***由当前运行第一应用实例切换至第二应用实例,可以将当前时刻第一应用实例对应的全局配置信息以及状态参数缓存在目标进程的内存中。
本公开实施方式中,第一应用实例进入后台运行,此时仅需要保存第一应用实例当前的第一配置信息,对于第一配置信息之外的例如显示界面等数据无需缓存,因此第一应用实例在后台运行时,第一配置信息所占用的内存空间很小,不会对目标进程中第二应用实例的运行产生影响。
在缓存第一应用实例的第一配置信息之后,第一应用实例进入后台保持,此时,第二应用实例即可配置到目标进程中,进行前台运行。
在一些实施方式中,如果第二应用实例为之前已经缓存在目标进程中的应用程序,也即在运行第一应用实例之前,第二应用实例已经按照前述过程将对应的第二配置信息缓存在目标进程中,说明在第一应用实例运行时,第二应用实例已经在目标进程的后台进行状态保持。
在此情况下,由于内存中已经缓存了第二应用实例的第二配置信息,只需要从目标进程的内存中直接读取得到第二应用实例的第二配置信息,然后根据第二配置信息对目标进程进行初始化配置,即可在目标进程中运行第二应用实例。
换言之,本公开实施方式中,在当前应用实例切换至其它应用实例时,会对当前应用实例的配置信息进行缓存,使得当前应用实例进入后台保持。当该应用实例再次被切换回前台运行时,只需要从内存中读取之前缓存的配置信息对目标进程进行初始化配置即可。
在另一些实施方式中,如果第二应用实例为新开启的应用程序,也即在运行第一应用实例之前,第二应用实例的第二配置信息没有缓存在目标进程的内存中,第二应用实例并非后台保持的应用程序。
在此情况下,由于内存中没有缓存第二应用实例的第二配置信息,从而 需要读取第二应用实例的程序文件(Application File),该程序文件中声明了第二应用实例所需的第二配置信息。通过读取第二应用实例的程序文件,可以得到第二配置信息,然后根据第二配置信息对目标进程进行初始化配置,即可在目标进程中运行第二应用实例。
可以理解,本公开实施方式中,第二配置信息同样可以包括前述的全局配置信息和状态参数,在第二应用实例被切换至后台时,可以将切换时刻第二应用实例对应的全局配置信息和当前的状态参数缓存在目标进程的内存中。
通过上述可知,本公开实施方式中,通过将后台应用的配置信息缓存在目标进程中,从而在后台应用切换至前台时,可以通过缓存的配置信息在当前进程中进行初始化配置,实现单进程多应用的同时保活。
如图3所示,在一些实施方式中,本公开示例的应用管理方法,根据第二配置信息对目标进程初始化配置的过程,包括:
S310、获取第二配置信息包括的全局配置信息和状态参数。
S320、根据全局配置信息配置目标进程的应用环境,根据状态参数在目标进程中配置第二应用实例,以在目标进程中运行第二应用实例。
本公开实施方式中,第二配置信息可以包括全局配置信息和状态参数。全局配置信息是指第二应用实例所声明的全局变量配置,其可以包括前述的***能力接口信息、应用定时器信息、应用插件信息、多语言信息以及本地化设置信息等。
状态参数是指第二应用实例对应的一些动态参数,例如定时任务参数、计时器参数等。可以理解,若第二应用实例为已经缓存在目标进程中的应用,状态参数可以是第二应用实例最近一次被切换至后台时刻对应的参数值;若第二应用实例为首次启动的应用,状态参数则可以是初始默认参数值。
在获取第二配置信息的全局配置信息和状态参数之后,即可根据全局配置信息所声明的诸如***能力接口信息、应用定时器信息、应用插件信息、多语言信息以及本地化设置信息,对目标进程的应用环境进行相关配置。同时,根据第二应用实例的状态参数在目标进程中配置第二应用实例,以在目标进程中运行第二应用实例,使其切换至前台运行。
通过上述可知,本公开实施方式中,在应用切换时无需建立新的进程,而且可以基于应用程序切换至后台时缓存的配置信息,在该应用程序被切换 至前台时,无需重新启动,实现单进程中多个应用的同时保活,提高应用启动效率。
在一些实施方式中,在应用实例切换至前台运行时,由于目标进程中仅缓存了应用示例的配置数据,而没有缓存对应的渲染界面,因此需要根据配置数据重新渲染显示界面,下面结合图4实施方式进行说明。
如图4所示,在一些实施方式中,本公开示例的应用管理方法,包括:
S410、根据目标进程当前运行的应用实例的配置信息,渲染应用实例对应的显示界面。
S420、在电子设备的显示装置上输出显示界面。
电子设备包括有显示装置,显示装置是指用于显示电子设备界面的装置,例如智能手机的显示模组、智能手表的显示屏等。在一些实施方式中,显示装置可以是例如LCD(Liquid Crystal Display,液晶显示)装置、OLED(Organic Light-Emitting Diode,有机发光半导体)装置等,本公开对此不作限制。
本公开实施方式中,在某个应用实例被切换至前台运行时,例如***由第二应用实例切换至第一应用实例运行,目标进程的内存中已经缓存第一应用实例被切换至后台运行时的第一配置信息,从而需要读取缓存的第一配置信息,根据第一配置信息对目标进程进行初始化配置,实现第一应用实例在目标进程中正常运行。
同时,在可视化层面,需要根据第一配置信息重新渲染第一应用实例对应的显示界面,也即应用程序的显示界面,并将该显示界面在显示装置上输出显示。对于用户而言,其在将第二应用程序切换至第一应用程序时,电子设备的显示装置上即可显示第一应用程序对应的显示界面,用户通过显示界面实现对第一应用程序的相关操作。
可以理解,上述以第二应用实例切换至第一应用实例为例进行了说明,事实上,对于任意应用实例,均可以按照上述过程进行显示界面渲染,从而将该应用实例的显示界面在显示装置上输出显示,本公开对此不再赘述。
通过上述可知,本公开实施方式中,在应用实例被切换至后台运行时,仅缓存该应用实例的配置信息,对于显示界面等数据不进行缓存,从而只需占用很少的进程内存空间,不会对前台应用实例的运行产生影响,实现单进程中多个应用的同时保活。
另外,值得特别说明的是,上文所述中仅以两个应用实例在目标进程中的切换过程进行了说明,事实上,本公开实施方式中,在同一个目标进程中可以实现更多数量应用实例的保活。
例如一个示例中,用户首先开启第一应用实例,第一应用实例在目标进程中正常运行。然后由第一应用实例切换至第二应用实例,基于前述的管理方法,可以将第一应用实例的第一配置信息缓存在目标进程中,将第一应用实例进入后台保持,第二应用实例配置在目标进程中正常运行。之后由第二应用实例切换至第三应用实例,基于前述的管理方法,可以将第二应用实例的第二配置信息缓存在目标进程中,将第二应用实例也进入后台保持,第三应用实例配置在目标进程中正常运行。再然后由第三应用实力切换回第一应用实例,基于前述的管理方法,可以将第三应用实例的第三配置信息缓存在目标进程中,将第三应用实例进入后台保持,读取缓存的第一配置信息,配置第一应用实例在目标进程中正常运行。
由于目标进程中缓存的仅仅是各个应用实例的配置信息,数据量很小,因此,即使对于智能手环、手表等轻量级的可穿戴设备,同样可以同时存活多个应用实例的配置数据,在同一个进程中实现多个应用程序的保活。用户在切换应用程序时,无需重新建立进程,也无需重新启动应用程序,大大提高使用体验。
通过上述可知,本公开实施方式中,实现单进程中多个应用实例的同时存活,在应用实例前后台切换时,无需建立新的进程,也无需等待应用实例重新启动,减少应用切换时间,尤其利于轻量级的可穿戴设备部署,提高设备使用体验。
第二方面,本公开实施方式提供了一种应用管理装置,该装置可应用于电子设备。本公开实施方式中,对电子设备的具体类型不作限制,可以是任何适于实施的设备类型,例如智能手机、平板电脑、智能手表、智能手环等等,本公开对此不作限制。
如图5所示,在一些实施方式中,本公开示例的应用管理装置,包括:
第一获取模块10,被配置为响应于由当前运行的第一应用实例切换至第二应用实例,获取第一应用实例当前的第一配置信息,并将第一配置信息缓存在当前运行的目标进程中;
第二获取模块20,被配置为获取第二应用实例的第二配置信息,并根据第二配置信息对目标进程初始化配置,以在目标进程中运行第二应用实例。
通过上述可知,本公开实施方式中,在应用切换时无需建立新的进程,而且可以基于应用程序切换至后台时缓存的配置信息,在该应用程序被切换至前台时,无需重新启动,实现单进程中多个应用的同时保活,提高应用启动效率。
在一些实施方式中,第一获取模块10被配置为:
响应于由当前运行的第一应用实例切换至第二应用实例,获取第一应用实例的全局配置信息以及当前的状态参数;
根据全局配置信息和状态参数确定第一配置信息,并将第一配置信息缓存在目标进程中。
在一些实施方式中,本公开的装置还包括配置模块,配置模块被配置为:
响应于由当前运行的第二应用实例切换至第一应用实例,根据目标进程中缓存的第一应用实例的第一配置信息,配置目标进程。
在一些实施方式中,第二获取模块20被配置为:
响应于目标进程中未缓存第二应用实例的第二配置信息,读取第二应用实例的程序文件,得到第二应用实例第二配置信息;
根据第二配置信息对目标进程初始化配置。
在一些实施方式中,第二获取模块20被配置为:
响应于目标进程中已缓存第二应用实例的第二配置信息,获取目标进程中缓存的第二配置信息,并根据第二配置信息对目标进程初始化配置。
在一些实施方式中,第二获取模块20被配置为:
获取第二配置信息包括的全局配置信息和状态参数;
根据全局配置信息配置目标进程的应用环境,根据所述状态参数在所述目标进程中配置所述第二应用实例,以在所述目标进程中运行所述第二应用实例。
在一些实施方式中,本公开的装置,还包括显示模块,显示模块被配置为:
根据目标进程当前运行的应用实例的配置信息,渲染应用实例对应的显示界面;
在电子设备的显示装置上输出显示界面。
在一些实施方式中,第一配置信息和第二配置信息均包括以下中至少之一:
***能力接口信息、应用定时器信息、应用插件信息、多语言信息、本地化设置信息。
在一些实施方式中,电子设备包括可穿戴设备。
通过上述可知,本公开实施方式中,实现单进程中多个应用实例的同时存活,在应用实例前后台切换时,无需建立新的进程,也无需等待应用实例重新启动,减少应用切换时间,尤其利于轻量级的可穿戴设备部署,提高设备使用体验。
第三方面,本公开实施方式提供了一种电子设备,包括:
处理器;和
存储器,存储有计算机指令,计算机指令用于使处理器执行根据第一方面任意实施方式的方法。
第四方面,本公开实施方式提供了一种存储介质,存储有计算机指令,计算机指令用于使计算机执行根据第一方面任意实施方式的方法。
图6中示出了本公开一些实施方式中的电子设备的结构框图,下面结合图6对本公开一些实施方式的电子设备及存储介质相关原理进行说明。
参照图6电子设备1800可以包括以下一个或多个组件:处理组件1802,存储器1804,电源组件1806,多媒体组件1808,音频组件1810,输入/输出(I/O)接口1812,传感器组件1816,以及通信组件1818。
处理组件1802通常控制电子设备1800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1802可以包括一个或多个处理器1820来执行指令。此外,处理组件1802可以包括一个或多个模块,便于处理组件1802和其他组件之间的交互。例如,处理组件1802可以包括多媒体模块,以方便多媒体组件1808和处理组件1802之间的交互。又如,处理组件1802可以从存储器读取可执行指令,以实现电子设备相关功能。
存储器1804被配置为存储各种类型的数据以支持在电子设备1800的操作。这些数据的示例包括用于在电子设备1800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件1806为电子设备1800的各种组件提供电力。电源组件1806可以包括电源管理***,一个或多个电源,及其他与为电子设备1800生成、管理和分配电力相关联的组件。
多媒体组件1808包括在所述电子设备1800和用户之间的提供一个输出接口的显示屏。在一些实施例中,多媒体组件1808包括一个前置摄像头和/或后置摄像头。当电子设备1800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件1810被配置为输出和/或输入音频信号。例如,音频组件1810包括一个麦克风(MIC),当电子设备1800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1804或经由通信组件1818发送。在一些实施例中,音频组件1810包括一个扬声器,用于输出音频信号。
I/O接口1812为处理组件1802和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1816包括一个或多个传感器,用于为电子设备1800提供各个方面的状态评估。例如,传感器组件1816可以检测到电子设备1800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备1800的显示器和小键盘,传感器组件1816可以检测电子设备1800或电子设备1800一个组件的位置改变,用户与电子设备1800接触的存在或不存在,电子设备1800方位或加速/减速和电子设备1800的温度变化。传感器组件1816可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组 件1816可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1816可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件1818被配置为便于电子设备1800和其他设备之间有线或无线方式的通信。电子设备1800可以接入基于通信标准的无线网络,如Wi-Fi,2G,3G,4G,5G或6G,或它们的组合。在一个示例性实施例中,通信组件1818经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1818包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备1800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现。
第五方面,本公开实施方式提供了一种芯片,包括一个或多个接口电路和一个或多个处理器;所述接口电路用于从电子设备的存储器接收信号,并向所述处理器发送所述信号,所述信号包括存储器中存储的计算机指令;当所述处理器执行所述计算机指令时,使得所述电子设备执行第一方面任意实施方式所述的方法。
在一些实施方式中,本公开提供的芯片可以为任意适于实施的芯片类型,例如CPU(central processing unit,中央处理器)芯片、GPU(graphics processing unit,图形处理器)芯片、SoC(***级芯片,System on Chip)等,也可以为人工智能技术专用的加速芯片,例如AI(Artificial Intelligence,人工智能)加速器等,本公开对此不作限制。
显然,上述实施方式仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本公开创造的保护范围之中。
Claims (13)
- 一种应用管理方法,其特征在于,应用于电子设备,所述方法包括:响应于由当前运行的第一应用实例切换至第二应用实例,获取所述第一应用实例当前的第一配置信息,并将所述第一配置信息缓存在当前运行的目标进程中;获取第二应用实例的第二配置信息,并根据所述第二配置信息对所述目标进程初始化配置,以在所述目标进程中运行所述第二应用实例。
- 根据权利要求1所述的方法,其特征在于,所述响应于由当前运行的第一应用实例切换至第二应用实例,获取所述第一应用实例当前的第一配置信息,并将所述第一配置信息缓存在当前运行的目标进程中,包括:响应于由当前运行的第一应用实例切换至第二应用实例,获取所述第一应用实例的全局配置信息以及当前的状态参数;根据所述全局配置信息和所述状态参数确定所述第一配置信息,并将所述第一配置信息缓存在所述目标进程中。
- 根据权利要求1所述的方法,其特征在于,还包括:响应于由当前运行的第二应用实例切换至所述第一应用实例,根据所述目标进程中缓存的所述第一应用实例的第一配置信息,配置所述目标进程。
- 根据权利要求1至3任一项所述的方法,其特征在于,所述获取第二应用实例的第二配置信息,并根据所述第二配置信息对所述目标进程初始化配置,包括:响应于所述目标进程中未缓存所述第二应用实例的第二配置信息,读取所述第二应用实例的程序文件,得到所述第二应用实例第二配置信息;根据所述第二配置信息对所述目标进程初始化配置。
- 根据权利要求1至3任一项所述的方法,其特征在于,所述获取第二应用实例的第二配置信息,并根据所述第二配置信息对所述目标进程初 始化配置,包括:响应于所述目标进程中已缓存所述第二应用实例的第二配置信息,获取所述目标进程中缓存的所述第二配置信息,并根据所述第二配置信息对所述目标进程初始化配置。
- 根据权利要求1所述的方法,其特征在于,根据所述第二配置信息对所述目标进程初始化配置,以在所述目标进程中运行所述第二应用实例,包括:获取所述第二配置信息包括的全局配置信息和状态参数;根据所述全局配置信息配置所述目标进程的应用环境,根据所述状态参数在所述目标进程中配置所述第二应用实例,以在所述目标进程中运行所述第二应用实例。
- 根据权利要求1所述的方法,其特征在于,所述第一配置信息和所述第二配置信息均包括以下中至少之一:***能力接口信息、应用定时器信息、应用插件信息、多语言信息、本地化设置信息。
- 根据权利要求1所述的方法,其特征在于,所述电子设备包括可穿戴设备。
- 一种应用管理装置,其特征在于,包括:第一获取模块,被配置为响应于由当前运行的第一应用实例切换至第二应用实例,获取所述第一应用实例当前的第一配置信息,并将所述第一配置信息缓存在当前运行的目标进程中;第二获取模块,被配置为获取第二应用实例的第二配置信息,并根据所述第二配置信息对所述目标进程初始化配置,以在所述目标进程中运行所述第二应用实例。
- 根据权利要求9所述的装置,其特征在于,所述第一获取模块被 配置为:响应于由当前运行的第一应用实例切换至第二应用实例,获取所述第一应用实例的全局配置信息以及当前的状态参数;根据所述全局配置信息和所述状态参数确定所述第一配置信息,并将所述第一配置信息缓存在所述目标进程中。
- 根据权利要求9所述的装置,其特征在于,还包括配置模块,所述配置模块被配置为:响应于由当前运行的第二应用实例切换至所述第一应用实例,根据所述目标进程中缓存的所述第一应用实例的第一配置信息,配置所述目标进程。
- 一种电子设备,其特征在于,包括:处理器;和存储器,存储有计算机指令,所述计算机指令用于使所述处理器执行根据权利要求1至8任一项所述的方法。
- 一种存储介质,其特征在于,存储有计算机指令,所述计算机指令用于使计算机执行根据权利要求1至8任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/099930 WO2023245366A1 (zh) | 2022-06-20 | 2022-06-20 | 应用管理方法、装置、电子设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117616390A true CN117616390A (zh) | 2024-02-27 |
Family
ID=89378998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280004237.XA Pending CN117616390A (zh) | 2022-06-20 | 2022-06-20 | 应用管理方法、装置、电子设备以及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117616390A (zh) |
WO (1) | WO2023245366A1 (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109891390B (zh) * | 2017-08-11 | 2021-12-14 | 华为技术有限公司 | 一种应用切换方法及装置 |
CN109144600B (zh) * | 2018-06-21 | 2021-10-29 | 连尚(新昌)网络科技有限公司 | 一种应用程序的运行方法、设备及计算机可读介质 |
CN110825772A (zh) * | 2019-10-28 | 2020-02-21 | 爱钱进(北京)信息科技有限公司 | 多个服务实例的内存数据的同步方法、装置及存储介质 |
CN111596916A (zh) * | 2020-04-20 | 2020-08-28 | 北京飞漫软件技术有限公司 | 一种应用程序管理方法、装置、设备及计算机存储介质 |
CN113806026A (zh) * | 2020-06-12 | 2021-12-17 | 腾讯科技(上海)有限公司 | 一种应用程序安全切换方法、装置、设备及存储介质 |
CN114077461A (zh) * | 2020-08-21 | 2022-02-22 | 北京小米移动软件有限公司 | 应用程序的运行方法、装置、设备及存储介质 |
CN113296880A (zh) * | 2020-10-30 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 基于容器的应用管理方法和装置 |
-
2022
- 2022-06-20 WO PCT/CN2022/099930 patent/WO2023245366A1/zh active Application Filing
- 2022-06-20 CN CN202280004237.XA patent/CN117616390A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023245366A1 (zh) | 2023-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021175213A1 (zh) | 刷新率切换方法和电子设备 | |
CN105955765B (zh) | 应用预加载方法及装置 | |
CN109254849B (zh) | 应用程序的运行方法及装置 | |
CN110968362B (zh) | 应用运行方法、装置及存储介质 | |
CN116028149B (zh) | 窗口渲染方法、***、设备、存储介质和计算机程序产品 | |
EP3236355A1 (en) | Method and apparatus for managing task of instant messaging application | |
CN111078356A (zh) | Gpu集群资源控制***、方法、装置、设备及存储介质 | |
CN116939356A (zh) | 相机启动方法、装置及存储介质 | |
CN111078325B (zh) | 应用程序运行方法、装置、电子设备及存储介质 | |
CN110971974B (zh) | 配置参数创建方法、装置、终端及存储介质 | |
CN108958911B (zh) | 进程的控制方法及装置 | |
CN106502740B (zh) | 应用安装方法和装置 | |
CN110865864B (zh) | 快应用的界面显示方法、装置、设备及存储介质 | |
CN117616390A (zh) | 应用管理方法、装置、电子设备以及存储介质 | |
CN115994006A (zh) | 动画效果显示方法及电子设备 | |
CN111104183B (zh) | 应用程序运行方法、装置、电子设备及存储介质 | |
CN113835802A (zh) | 设备交互方法、***、设备及计算机可读存储介质 | |
CN112286687A (zh) | 一种资源处理方法及装置 | |
CN116743908B (zh) | 壁纸显示方法及相关装置 | |
CN112083981A (zh) | 一种页面视图组件的创建方法和装置 | |
WO2023245368A1 (zh) | 应用控制方法、装置、电子设备以及存储介质 | |
CN113179362B (zh) | 电子设备及其图像显示方法 | |
CN116954931B (zh) | 带宽分配方法及装置、存储介质及电子设备 | |
WO2022267786A1 (zh) | 一种快捷图标展示方法与终端设备 | |
CN117135268B (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 |