CN112988338B - 应用切换方法、装置、存储介质及电子设备 - Google Patents

应用切换方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN112988338B
CN112988338B CN201911276863.0A CN201911276863A CN112988338B CN 112988338 B CN112988338 B CN 112988338B CN 201911276863 A CN201911276863 A CN 201911276863A CN 112988338 B CN112988338 B CN 112988338B
Authority
CN
China
Prior art keywords
application
coprocessor
data
target
processor
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
CN201911276863.0A
Other languages
English (en)
Other versions
CN112988338A (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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201911276863.0A priority Critical patent/CN112988338B/zh
Priority to PCT/CN2020/134541 priority patent/WO2021115257A1/zh
Publication of CN112988338A publication Critical patent/CN112988338A/zh
Application granted granted Critical
Publication of CN112988338B publication Critical patent/CN112988338B/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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例公开了一种应用切换方法、装置、存储介质及电子设备。其中方法包括:当接收到应用切换请求时,协处理器根据应用切换请求确定运行目标应用所需要的第一数据,协处理器向应用处理器发送数据获取请求并接收应用处理器发送的第一数据,协处理器调用存储的共用固件中目标应用的目标预设代码,协处理器基于目标预设代码和第一数据运行目标应用。通过将包含多个预设应用代码的共用固件存储在协处理器中,在需要切换应用时,获取共用固件中的目标应用的目标预设代码和应用处理器发送的第一数据来运行目标应用,能够确保应用切换的速度。

Description

应用切换方法、装置、存储介质及电子设备
技术领域
本申请涉及通信技术领域,具体涉及一种应用切换方法、装置、存储介质及电子设备。
背景技术
随着电子技术的发展,各式各样的电子设备已成为用户生活工作中不可或缺的工具,电子设备能够支持的功能也越来越多。例如,用户可以通过电子设备实现通话功能、网购功能、导航功能、游戏功能等。
然而,电子设备支持的功能越来越多的同时,电子设备的功耗也越来越高。如何降低电子设备的功耗,延长电子设备的续航时间,以及在降低功耗的同时保证用户使用应用程序的流畅度,成为当前亟待解决的问题。
发明内容
本申请实施例提供一种应用切换方法、装置、存储介质及电子设备,能够确保应用切换的切换速度。
第一方面,本申请实施例提供了一种应用切换方法,应用于电子设备,所述电子设备包括应用处理器和协处理器,所述应用处理器与所述协处理器电连接,所述协处理器运行时的功耗小于所述应用处理器运行时的功耗,所述方法包括:
当接收到应用切换请求时,所述协处理器根据所述应用切换请求确定运行目标应用所需要的第一数据,所述应用切换请求用于请求从当前应用切换至所述目标应用;
所述协处理器向所述应用处理器发送数据获取请求并接收所述应用处理器发送的第一数据,所述数据获取请求用于向所述应用处理器请求获取所述第一数据;
所述协处理器调用存储的共用固件中所述目标应用的目标预设代码;
所述协处理器基于所述目标预设代码和所述第一数据运行所述目标应用。
第二方面,本申请实施例提供了一种应用切换装置,所述装置应用于电子设备,所述电子设备包括应用处理器和协处理器,所述应用处理器与所述协处理器电连接,所述协处理器运行时的功耗小于所述应用处理器运行时的功耗,所述协处理器包括所述装置,所述装置包括:
确定模块,用于当接收到应用切换请求时,所述协处理器根据所述应用切换请求确定运行目标应用所需要的第一数据,所述应用切换请求用于请求从当前应用切换至所述目标应用;
发送模块,用于所述协处理器向所述应用处理器发送数据获取请求并接收所述应用处理器发送的第一数据,所述数据获取请求用于向所述应用处理器请求获取所述第一数据;
调用模块,用于所述协处理器调用存储的共用固件中所述目标应用的目标预设代码;
运行模块,用于所述协处理器基于所述目标预设代码和所述第一数据运行所述目标应用。
第三方面,本申请实施例还提供一种存储介质,其上存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如本申请任一实施例提供的应用切换方法。
第四方面,本申请实施例提供了一种电子设备,所述电子设备包括应用处理器和协处理器,所述应用处理器与所述协处理器电连接,所述协处理器运行时的功耗小于所述应用处理器运行时的功耗,所述电子设备用于执行本申请实施例提供的应用切换方法。
本申请实施例中,在应用处理器处于休眠状态时,通过协处理器运行任务量较小的应用程序来降低电子设备的功耗,当协处理器需要从当前应用切换到目标应用时,协处理器接收应用切换请求,协处理器根据应用切换请求确定运行目标应用所需要的第一数据,协处理器向应用处理器发送数据获取请求并接收应用处理器发送的第一数据,协处理器调用存储的共用固件中目标应用的目标预设代码,协处理器基于目标预设代码和第一数据运行目标应用。通过将包含多个预设应用代码的共用固件存储在协处理器中,在需要切换应用时,获取共用固件中的目标应用的目标预设代码和应用处理器发送的第一数据来运行目标应用,能够提高应用切换的速度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的电子设备的第一结构示意图。
图2是本申请实施例提供的应用切换方法的场景示意图。
图3是本申请实施例提供的应用切换方法的第一流程示意图。
图4是本申请实施例提供的应用切换方法的第二流程示意图。
图5是本申请实施例提供的应用切换装置的第一结构示意图。
图6是本申请实施例提供的应用切换装置的第二结构示意图。
图7是本申请实施例提供的电子设备的第二结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明的构思是:随着芯片的技术发展,目前手机、平板等电子设备中的主处理器性能越来越强大,可以处理更多的任务,但是随着主处理器性能的提升,一些消耗资源较小的应用也由主处理器进行数据处理,会造成不必要的电量损耗。因此,在降低电子设备功耗的过程中,提出在电子设备中设置一协处理器,以辅助主处理器处理简单的任务且消耗电量极低,从而降低电子设备的功耗。进一步地,提出部分应用由协处理器完成。然后,协处理器处理的应用有多个时,受限于协处理器的内存太小,需要重新加载固件。一种方向是:协处理器通过应用处理器重新将要切换应用的目标固件发送过来,然后协处理器重新设置加载目标固件的一些参数,以使协处理器加载要切换应用的目标固件。如按照该方向,当需要频繁地切换应用时,协处理器需要不停的加载不同应用的固件,在此过程中,可能会导致电子设备黑屏、卡顿等现象发生。
因此,本发明提出另一种方向,在内存受限的协处理器中实现多个应用时,将多个应用共存于一个固件,通过一个固件包含多个应用,且将应用的数据进行切分,例如将代码和资源文件切分,占用内存大的数据(例如资源文件)存储在主处理器侧,占用内存少的数据(例如代码)存放在协处理器侧。由于应用代码本身占用的内存极少,所以可以在协处理器中存放多个应用。切换应用时,从主处理器侧动态加载资源文件,从而确保应用切换的速度较快,不致电子设备出现黑屏、卡顿等现象。
本申请实施例提供一种应用切换方法,该应用切换方法的执行主体可以是本申请实施例提供的应用切换装置,或者集成了该应用切换装置的电子设备,其中该应用切换装置可以采用硬件或者软件的方式实现。
本申请实施例还提供一种电子设备,电子设备可以是智能手机、平板电脑、掌上电脑、笔记本电脑、或者台式电脑等设备。请参阅图1,图1为本申请实施例提供的电子设备的第一种结构示意图。本申请实施例提出的电子设备包括应用处理器、协处理器和显示屏,协处理器的功耗低于应用处理器。协处理器和应用处理器通过通信总线与外围组件连接。其中,通信总线可以是I2C(Inter-Integrated Circuit,两线式串行总线)或者SPI(SerialPeripheral Interface,串行外设接口)总线。在其他实施例中也可以采用其他格式的通信总线,在此不作具体限制。
其中,应用处理器可以作为电子设备的主控SOC(System on Chip,系统级芯片)。在一些实施例中,应用处理器上集成有存储器。应用处理器可以用于电子设备处于亮屏模式时各种功能控制。
其中,协处理器是一个低功耗SOC,在工作状态下的功耗远小于应用处理器在工作状态下的功耗,其上集成有存储器,协处理器的频率远小于应用处理器,协处理器的内存的容量也小于应用处理器的内存的容量。
协处理器可以用于电子设备处于熄屏显示模式时一些相对运算较小的功能控制。熄屏显示(Always On Display,AOD)模式,指电子设备在熄屏模式下由显示屏显示信息的一种显示模式。本申请中,电子设备进入熄屏显示模式后,应用处理器可以进入休眠状态,协处理器进入工作状态,在极低功耗下,实现屏幕的动态显示、刷新、触屏处理,以及一些应用程序的运行。例如,在电子设备处于熄屏显示模式下,协处理器可以控制时间、日期、天气、日历等信息的更新与显示,还可以控制快捷工具的图标在熄屏显示界面上的显示,还可以支持一些如电子书、指南针、计算器等轻量级应用程序的运行。
请参阅图2,图2是本申请实施例提供的应用切换方法的场景示意图。其中电子设备包括,应用处理器(Application Processor)和协处理器(coprocessor),其中协处理器运行时的功耗小于应用处理器运行时的功耗,在处理性能需求比较低的任务时,能够节省电子设备的电能。
在电子设备运行对处理性能要求较低的应用时,可以通过电子设备内部的协处理器来运行该应用,以此来节省电子设备的电量,在需要对协处理器运行的应用进行切换时,协处理器将需要运行的目标应用的第一数据生成一个数据获取请求,并将包含数据获取请求信息发送至应用处理器,应用处理器再将第一数据的数据信息发送到协处理器,协处理器在接收到第一数据之后,通过第一数据和协处理器存储的目标应用的目标预设代码来运行目标应用。通过这种方式来切换应用,能够快速切换上一应用至下一应用。
请继续参阅图3,图3是本申请实施例提供的应用切换方法的第一流程示意图。该应用切换方法能够提高应用切换的速度,该应用切换方法包括以下流程:
101、协处理器接收应用切换请求。
在协处理器运行多个应用时,在多个应用之间需要切换使用,或者协处理器在运行某一应用时,需要运行新的应用,此时也需要切换当前运行的应用。在切换应用之前,协处理器会接收到应用切换请求,其中应用请求可以是用户输入的,也可以是电子设备切换应用时自动生成的。
102、协处理器根据应用切换请求确定运行目标应用所需要的第一数据。
可以理解的是,应用运行时,占用内存的主要为代码和数据,其中代码包含应用代码、驱动代码等,数据包含代码中声明的一些变量。但是应用运行时的数据占用的内存较大,比如在应用运行时的需要进行显示,其中应用显示对应的数据都是通过RGB值存储在源文件中的,这些数据占用的存储资源非常大,如果将这些存储量较大的数据存储在协处理器中,非常占用存储空间。
在一些实施方式中,在切换应用至目标应用时,需要确定目标应用运行时所需要的第一数据,这些第一数据可以存储在应用处理器中,以此来节省协处理器的存储空间,但是运行目标应用时需要获取目标应用的第一数据,此时协处理器根据第一数据生成第一数据对应的数据获取请求,数据获取请求中还可以包含目标应用的名称、验证信息、应用类型等等。
需要说明的是,其中第一数据可以包括目标运行时所需要的资源文件,例如应用显示时所需要的文件,或者音频文件等等。
103、协处理器向应用处理器发送数据获取请求并接收应用处理器发送的第一数据。
在一些实施方式中,在生成目标应用运行时需要的第一数据对应的数据获取请求之后,协处理器可以将数据获取请求发送到应用处理器中。例如,协处理器可以根据应用切换请求利用协处理器的触发协处理器发生中断,从而唤醒应用处理器,向应用处理器发送数据获取请求,其中协处理器可以通过邮箱向应用处理器发送数据获取请求。
应用处理器收到数据获取请求之后,可以根据数据获取请求获取目标应用对应的第一数据,并将第一数据发送到协处理器中。
在一些实施方式中,应用处理器获取数据获取请求之后,可以先确定目标应用获取的第一数据,判断第一数据中是否有隐私数据,例如照片、密码库等数据,通过数据清单中的应用名称、应用类型、验证密匙等验证信息等来判断目标应用的合法性,若目标应用合法,则将第一数据发送至协处理器;若验证的信息不合法,则将除隐私数据之外的第一数据发送至协处理器,并提示用户是否允许目标应用获取隐私数据。
104、协处理器调用存储的共用固件中目标应用的目标预设代码。
在一些实施例中,协处理器可以处理一些简单的任务,例如计算器、小游戏、指南针等等,这些应用的一些代码是固定的,例如驱动代码和硬件抽象层代码,这些代码对所有的应用都是固定的,多个应用都可以使用这些固定的代码。对于相同类型的多个应用,甚至应用层的代码也有部分是相同的。
可以将这些固定的代码存储在同一个共用固件中,还可以获取每个应用的预设代码,例如一些应用层的代码也可以存储在共用固件中,需要说明的是,其中预设代码也可以包括多个应用可以共用的固定代码。
在一些实施例中,多个预设应用可以将预设代码存储在共用固件中,其中每个预设应用都有对应的预设代码。在协处理器获取到目标应用对应的第一数据之后,可以在共用固件中调用目标应用对应的目标预设代码,通过目标预设代码来加载第一数据。
105、协处理器基于目标预设代码和第一数据运行目标应用。
在一些实施例中,在协处理器获取到目标应用运行时的第一数据之后,可以对共用固件中的当前应用运行时的第二数据进行清除,同时可以将第一数据存储在共用固件中,然后调用共用固件中的目标预设代码,通过目标预设代码来加载第一数据来运行目标应用,其中第一数据中有目标应用运行时所需要的资源文件。
在一些实施例中,在运行目标应用之前,还可以检测协处理器运行的应用数量是否超过预设应用数量,若协处理器运行的应用数量未超过预设应用数量,则直接根据共用固件和第一数据运行目标应用,若协处理器运行的应用数量超过预设应用数量,则根据优先级对协处理器已经运行的当前应用进行优先级获取,根据优先级对已经运行的当前应用进行清除,以使目标应用能够运行。
其中,对当前应用的优先级获取,可以根据当前应用的历史使用时长进行获取,历史使用时长较长的当前应用,说明该当前应用是用户经常使用的应用,可以对历史使用时长的当前应用设置较高的优先级,对于历史使用时长较低的当前应用,则对历史使用时长较低的应用设置较低的优先级。
在一些实施例中,在运行目标应用之前,还可以检测在协处理器上运行的当前应用所占用的内存容量是否达到预设阈值,若当前应用占用的内存容量达到预设阈值了,则说明需要清理当前应用,使得目标应用运行时有足够的内存空间。
本申请实施例中,当接收到应用切换请求时,协处理器根据应用切换请求确定运行目标应用所需要的第一数据,协处理器向应用处理器发送数据获取请求并接收应用处理器发送的第一数据,协处理器调用存储的共用固件中目标应用的目标预设代码,协处理器基于目标预设代码和第一数据运行目标应用。通过将包含多个预设应用代码的共用固件存储在协处理器中,在需要切换应用时,获取共用固件中的目标应用的目标预设代码和应用处理器发送的第一数据来运行目标应用,能够确保应用切换的速度。
请继续参阅图4,图4是本申请实施例提供的应用切换方法的第二流程示意图,该应用切换方法能够提高应用切换的速度,该应用切换方法包括以下流程:
201、协处理器获取多个预设应用对应的预设代码。
在电子设备上,例如手机、平板电脑等便携式电子设备,其中有协处理器和应用处理器,由于协处理器的性能相对于应用处理器性能较弱,则协处理器处理的应用也是有限的,例如下游戏、计算器、指南针等对性能要求较小的应用程序,这些应用程序为协处理器可以运行的预设应用程序。
在一些实施例中,多个预设应用的预设代码可以是相同的,也可以是不同的。例如,每个预设应用有对应的代码,多个预设应用中也有一部分代码是相同的,是固定不变的,例如驱动代码和硬件抽象层代码,这些代码对所有的应用都是固定的。还可以选取每一个预设应用对应的区别于其他预设应用的代码,例如每个预设应用的应用层代码,这些应用代码是不同的。
202、协处理器将多个预设应用对应的预设代码存储在共用固件中。
在获取到多个预设应用的对应的预设代码之后,通过将这些预设代码进行整合并存储在共用固件中,在共用固件运行某一预设应用的时候,可以调用共用固件中该预设应用对应的预设代码,同时记载该预设应用对应的资源文件。
203、接收到应用切换请求时,协处理器根据应用切换请求确定运行目标应用所需要的第一数据。
在协处理器运行多个应用时,在多个应用之间需要切换使用,或者协处理器在运行某一应用时,需要运行新的应用,此时也需要切换当前运行的应用。在切换应用之前,协处理器会接收到应用切换请求,其中应用请求可以是用户输入的,也可以是电子设备切换应用时自动生成的。
其中,目标应用在运行时需要对应数据才能正常的运行,此时可以根据应用切换请求确定需要运行的目标应用,然后确定目标应用运行时所需要的第一数据,其中第一数据中包括目标应用运行时的资源文件,数据获取请求中包括应用名称、验证密匙等信息。
204、协处理器根据应用切换请求在驱动层对应用处理器发送中断信号,以唤醒应用处理器并向应用处理器发送数据获取请求。
可以理解的是,在协处理器处于工作状态时,此时应用处理器可能处于休眠状态或者是停止工作状态,协处理器要与应用处理器之间进行通信,需要通过驱动层向应用处理器发送中断信号,来唤醒应用处理器,并向应用处理器发送数据获取请求。
此时协处理器可以通过邮箱将数据获取请求发送到应用处理器中。
205、协处理器接收应用处理器发送的第一数据。
应用处理器在接收到协处理器发送的数据获取请求之后,会读取数据获取请求,确定需要获取数据的目标应用,然后获取目标应用对应的第一数据,将第一数据发送到协处理器中。
在一些实施方式中,应用处理器还可以通过数据清单中的验证密匙来判断目标应用获取的第一数据是否为目标应用对应的数据信息,防止目标应用盗取其他应用的应用信息。
在一些实施方式中,拥有处理器还可以通过数据获取请求中的目标应用的应用名称、应用标识来直接确定第一数据,然后获取第一数据,将第一数据发送至协处理器中。
206、协处理器确定当前应用运行时的第二数据的存储区域。
在一些实施例中,协处理器中预设应用在运行时会占用一定的存储空间,通过设置一个存储区域专门用来存储预设应用运行时的数据,在运行目标应用之前,可以先确定当前应用运行时的存储区域,然后判断存储区域中剩余的存储空间是否满足将第一数据存储在其中,若存储区域中剩余的存储空间可以继续存放第一数据,则对存储区域划分为至少两个数据存储空间,一个用来存储第一数据,另一个用来存储第二数据,若存储区域中剩余的存储空间不能存放第一数据,则进入步骤207中。
207、清除第二数据并将第一数据存储在存储区域中。
为了保证存储区域的剩余存储量满足第一数据的存放,可以将当前应用对应的第二数据进行清除,然后将第一数据存储在存储区域中,以满足目标应用运行时的需求。
在一些实施方式中,还可以对当前应用进行冻结,例如,将当前应用的进程锁定,然后对第二数据进行数据压缩,使得第二数据的内存占用减少,然后再将第一数据存储在存储区域中,这样既可以保证目标应用运行时的需求,也可以保证在切换到当前应用时,能够通过对第二数据的解压,对当前应用进程的解冻,来实现对当前应用的快速启动。
208、协处理器调用存储的共用固件中目标应用的目标预设代码,并基于目标预设代码和第一数据运行目标应用。
在一些实施方式中,如果共用固件采用的是多个预设应用都可以使用的固定代码生成的,则此时可以直接调用共用固件,然后通过共用固件加载第一数据来实现目标应用的运行。
在一些实施方式中,还可以获取共用固件中的预设代码,例如每个预设应用对应的应用层代码、驱动层代码、硬件抽象层代码等等,通过获取共用固件中的预设代码,通过预设代码加载目标应用的第一数据来运行目标应用。
本申请实施例中,当接收到应用切换请求时,协处理器根据应用切换请求确定运行目标应用所需要的第一数据,协处理器向应用处理器发送数据获取请求并接收应用处理器发送的第一数据,协处理器调用存储的共用固件中目标应用的目标预设代码,协处理器基于目标预设代码和第一数据运行目标应用。通过将包含多个预设应用代码的共用固件存储在协处理器中,在需要切换应用时,获取共用固件中的目标应用的目标预设代码和应用处理器发送的第一数据来运行目标应用,能够确保应用切换的速度。
请继续参阅图5,图5是本申请实施例提供的应用切换装置的第一结构示意图。该应用切换装置300包括:确定模块310、发送模块320、调用模块330、运行模块340。
其中,确定模块310,用于当接收到应用切换请求时,所述协处理器根据所述应用切换请求确定运行目标应用所需要的第一数据,所述应用切换请求用于请求从当前应用切换至所述目标应用。
在协处理器运行多个应用时,在多个应用之间需要切换使用,或者协处理器在运行某一应用时,需要运行新的应用,此时也需要切换当前运行的应用。在切换应用之前,确定模块310会接收到应用切换请求,其中应用请求可以是用户输入的,也可以是电子设备切换应用时自动生成的。
在一些实施例中,协处理器可以处理一些简单的任务,例如计算器、小游戏、指南针等等,这些应用的一些代码是固定的,例如驱动代码和硬件抽象层代码,这些代码对所有的应用都是固定的,多个应用都可以使用这些固定的代码。对于相同类型的多个应用,甚至应用层的代码也有部分是相同的。
可以将这些固定的代码存储在同一个共用固件中,还可以获取每个应用的预设代码,例如一些应用层的代码也可以存储在共用固件中,需要说明的是,其中预设代码也可以包括多个应用可以共用的固定代码。
在一些实施方式中,在切换应用至目标应用时,确定模块310需要获取目标应用运行时所需要的第一数据,这些数据可以存储在应用处理器中,以此来节省协处理器的存储空间,但是运行目标应用时需要获取目标应用的第一数据,此时协处理器根据第一数据生成第一数据对应的数据清单,数据清单中还可以包含目标应用的名称、验证信息、应用类型等等。
发送模块320,用于所述协处理器向所述应用处理器发送数据获取请求并接收所述应用处理器发送的第一数据,所述数据获取请求用于向所述应用处理器请求获取所述第一数据。
在协处理器处于工作状态时,此时应用处理器可能处于休眠状态或者是停止工作状态,协处理器要与应用处理器之间进行通信,发送模块320需要通过驱动层向应用处理器发送中断信号,来唤醒应用处理器,并向应用处理器发送数据获取请求。
此时协处理器可以通过邮箱将数据获取请求发送到应用处理器中。
应用处理器在接收到协处理器发送的数据清单之后,会读取数据清单,获取数据的目标应用,然后获取目标应用对应的第一数据,将第一数据发送到协处理器中。
调用模块330,用于所述协处理器调用存储的共用固件中所述目标应用的目标预设代码。
在一些实施例中,多个预设应用可以将预设代码存储在共用固件中,其中每个预设应用都有对应的预设代码。在协处理器获取到目标应用对应的第一数据之后,调用模块330可以在共用固件中调用目标应用对应的目标预设代码,通过目标预设代码来加载第一数据。
运行模块340,用于所述协处理器基于所述目标预设代码和所述第一数据运行所述目标应用。
在一些实施例中,在协处理器获取到目标应用运行时的第一数据之后,运行模块340可以对共用固件中的当前应用运行时的第二数据进行清除,同时可以将第一数据存储在共用固件中,然后调用共用固件中的目标预设代码,运行模块340通过目标预设代码来加载第一数据来运行目标应用,其中第一数据中有目标应用运行时所需要的资源文件。
请继续参阅图6,图6是本申请实施例提供的应用切换装置的第二结构示意图,其中应用切换装置还包括:获取模块350和存储模块360。
获取模块350,用于所述协处理器获取多个预设应用对应的预设代码。
在一些实施例中,多个预设应用的预设代码可以是相同的,也可以是不同的。例如,每个预设应用有对应的代码,多个预设应用中也有一部分代码是相同的,是固定不变的,例如驱动代码和硬件抽象层代码,这些代码对所有的应用都是固定的。还可以选取每一个预设应用对应的区别于其他预设应用的代码,例如每个预设应用的应用层代码,这些应用代码是不同的。获取模块350可以获取每个预设应用对应的预设代码。
存储模块360,用于所述协处理器将所述多个预设应用对应的预设代码存储在所述共用固件中。
在获取到多个预设应用的对应的预设代码之后,存储模块360将这些预设代码进行整合并存储在共用固件中,在共用固件运行某一预设应用的时候,可以调用共用固件中该预设应用对应的预设代码,同时记载该预设应用对应的资源文件。
本申请实施例中,当接收到应用切换请求时,协处理器根据应用切换请求确定运行目标应用所需要的第一数据,协处理器向应用处理器发送数据获取请求并接收应用处理器发送的第一数据,协处理器调用存储的共用固件中目标应用的目标预设代码,协处理器基于目标预设代码和第一数据运行目标应用。通过将包含多个预设应用代码的共用固件存储在协处理器中,在需要切换应用时,获取共用固件中的目标应用的目标预设代码和应用处理器发送的第一数据来运行目标应用,能够确保应用切换的速度。
在一些实施例中,请参阅图7,图7为本申请实施例提供的电子设备的第二种结构示意图。电子设备还包括:射频电路403、显示屏404、控制电路405、输入单元406、音频电路407、传感器408、触控电路410以及电源409。其中,应用处理器401和协处理器402分别与射频电路403、显示屏404、控制电路405、输入单元406、音频电路407、传感器408、触控电路410以及电源409电性连接。
射频电路403用于收发射频信号,以通过无线通信与网络设备或其他电子设备进行通信。
显示屏404可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图像、文本、图标、视频和其任意组合来构成。
控制电路405与显示屏404电性连接,用于控制显示屏404显示信息。
输入单元406可用于接收输入的数字、字符信息或用户特征信息(例如指纹),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。其中,输入单元406可以包括指纹识别模组。
音频电路407可通过扬声器、传声器提供用户与电子设备之间的音频接口。其中,音频电路407包括麦克风。所述麦克风与所述处理器401电性连接。所述麦克风用于接收用户输入的语音信息。
传感器408用于采集外部环境信息。传感器408可以包括环境亮度传感器、加速度传感器、陀螺仪等传感器中的一种或多种。
电源409用于给电子设备的各个部件供电。在一些实施例中,电源409可以通过电源管理系统与应用处理器401、协处理器402逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
图7中的电子设备中还包括存储器,存储器可以包括多个,存储器可用于存储软件程序以及模块,应用处理器401和协处理器402通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供应用处理器401和协处理器402对存储器的访问。
尽管图7中未示出,电子设备还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本实施例中,电子设备中的应用处理器401和协处理器402会按照如下的步骤,将一个或一个以上的第一计算机程序的进程对应的指令加载到存储器中,并由应用处理器401和协处理器402来运行存储在存储器中的计算机程序,从而实现各种功能:
当接收到应用切换请求时,所述协处理器根据所述应用切换请求确定运行目标应用所需要的第一数据,所述应用切换请求用于请求从当前应用切换至所述目标应用;
所述协处理器向所述应用处理器发送数据获取请求并接收所述应用处理器发送的第一数据,所述数据获取请求用于向所述应用处理器请求获取所述第一数据;
所述协处理器调用存储的共用固件中所述目标应用的目标预设代码;
所述协处理器基于所述目标预设代码和所述第一数据运行所述目标应用。
由上述可知,通过将预设应用的共用固件存储在协处理器中,当接收到应用切换请求时,协处理器根据应用切换请求确定运行目标应用所需要的第一数据,协处理器向应用处理器发送数据获取请求并接收应用处理器发送的第一数据,协处理器调用存储的共用固件中目标应用的目标预设代码,协处理器基于目标预设代码和第一数据运行目标应用。通过将包含多个预设应用代码的共用固件存储在协处理器中,获取共用固件中的目标应用的目标预设代码和应用处理器发送的第一数据来运行目标应用,能够提高应用切换的速度。
本申请实施例还提供一种存储介质,所述存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,所述计算机执行上述任一实施例所述的应用切换的方法。
需要说明的是,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过计算机程序来指令相关的硬件来完成,所述计算机程序可以存储于计算机可读存储介质中,所述存储介质可以包括但不限于:只读存储器(ROM,Read OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
此外,本申请中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,而是某些实施例还包括没有列出的步骤或模块,或某些实施例还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。
以上对本申请实施例所提供的应用切换方法、装置、存储介质及电子设备进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种应用切换方法,应用于电子设备,其特征在于,所述电子设备包括应用处理器和协处理器,所述应用处理器与所述协处理器电连接,所述协处理器运行时的功耗小于所述应用处理器运行时的功耗,所述方法包括:
当接收到应用切换请求时,所述协处理器根据所述应用切换请求确定运行目标应用所需要的第一数据,所述应用切换请求用于请求从当前应用切换至所述目标应用;
所述协处理器向所述应用处理器发送数据获取请求并接收所述应用处理器发送的第一数据,所述数据获取请求用于向所述应用处理器请求获取所述第一数据;
所述协处理器调用存储的共用固件中所述目标应用的目标预设代码;
所述协处理器基于所述目标预设代码和所述第一数据运行所述目标应用。
2.根据权利要求1所述的应用切换方法,其特征在于,在所述协处理器接收应用切换请求之前,所述方法还包括:
所述协处理器获取多个预设应用对应的预设代码;
所述协处理器将所述多个预设应用对应的预设代码存储在所述共用固件中。
3.根据权利要求1所述的应用切换方法,其特征在于,所述协处理器向所述应用处理器发送数据获取请求并接收所述应用处理器发送的第一数据,包括:
所述协处理器根据所述应用切换请求在驱动层对所述应用处理器发送中断信号,以唤醒所述应用处理器;
所述应用处理器接收所述协处理器发送的数据获取请求并向所述协处理器发送所述第一数据;
所述协处理器接收所述应用处理器发送的所述第一数据。
4.根据权利要求3所述的应用切换方法,其特征在于,所述应用处理器接收所述协处理器发送的数据获取请求并向所述协处理器发送所述第一数据,包括:
所述应用处理器获取所述数据获取请求中的目标应用的验证信息;
所述应用处理器根据所述验证信息获取存储的所述第一数据并向所述协处理器发送所述第一数据。
5.根据权利要求1至4任一项所述的应用切换方法,其特征在于,所述协处理器基于所述目标预设代码和所述第一数据运行所述目标应用,包括:
所述协处理器确定所述当前应用运行时的第二数据的存储区域;
所述协处理器清除所述存储区域内的所述第二数据并将所述第一数据存储在所述存储区域内;
所述协处理器根据所述存储区域内的所述第一数据和所述目标预设代码运行所述目标应用。
6.根据权利要求1至4任一项所述的应用切换方法,其特征在于,所述协处理器基于所述目标预设代码和所述第一数据运行所述目标应用,包括:
所述协处理器压缩所述当前应用运行时的第二数据以缩小第二数据的内存占用量;
所述协处理器存储所述第一数据至所述协处理器中;
所述协处理器根据所述第一数据和所述目标预设代码运行所述目标应用。
7.一种应用切换装置,所述装置应用于电子设备,其特征在于,所述电子设备包括应用处理器和协处理器,所述应用处理器与所述协处理器电连接,所述协处理器运行时的功耗小于所述应用处理器运行时的功耗,所述协处理器包括所述装置,所述装置包括:
确定模块,用于当接收到应用切换请求时,所述协处理器根据所述应用切换请求确定运行目标应用所需要的第一数据,所述应用切换请求用于请求从当前应用切换至所述目标应用;
发送模块,用于所述协处理器向所述应用处理器发送数据获取请求并接收所述应用处理器发送的第一数据,所述数据获取请求用于向所述应用处理器请求获取所述第一数据;
调用模块,用于所述协处理器调用存储的共用固件中所述目标应用的目标预设代码;
运行模块,用于所述协处理器基于所述目标预设代码和所述第一数据运行所述目标应用。
8.根据权利要求7所述的应用切换装置,其特征在于,所述装置还包括:
获取模块,用于所述协处理器获取多个预设应用对应的预设代码;
存储模块,用于所述协处理器将所述多个预设应用对应的预设代码存储在所述共用固件中。
9.一种存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序在处理器上运行时,使得所述处理器执行如权利要求1至6任一项所述的应用切换方法。
10.一种电子设备,其特征在于,所述电子设备包括应用处理器和协处理器,所述应用处理器与所述协处理器电连接,所述协处理器运行时的功耗小于所述应用处理器运行时的功耗,所述电子设备用于执行权利要求1至6任一项所述的应用切换方法。
CN201911276863.0A 2019-12-12 2019-12-12 应用切换方法、装置、存储介质及电子设备 Active CN112988338B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911276863.0A CN112988338B (zh) 2019-12-12 2019-12-12 应用切换方法、装置、存储介质及电子设备
PCT/CN2020/134541 WO2021115257A1 (zh) 2019-12-12 2020-12-08 应用切换方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911276863.0A CN112988338B (zh) 2019-12-12 2019-12-12 应用切换方法、装置、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN112988338A CN112988338A (zh) 2021-06-18
CN112988338B true CN112988338B (zh) 2022-12-20

Family

ID=76328841

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911276863.0A Active CN112988338B (zh) 2019-12-12 2019-12-12 应用切换方法、装置、存储介质及电子设备

Country Status (2)

Country Link
CN (1) CN112988338B (zh)
WO (1) WO2021115257A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113765935B (zh) * 2021-09-17 2023-09-12 展讯通信(深圳)有限公司 通信方法及装置、可读存储介质、应用处理器、终端

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7761857B1 (en) * 1999-10-13 2010-07-20 Robert Bedichek Method for switching between interpretation and dynamic translation in a processor system based upon code sequence execution counts
JP2010200045A (ja) * 2009-02-25 2010-09-09 Kyocera Corp 携帯電子機器
CN101510160B (zh) * 2009-03-26 2013-10-16 北京中星微电子有限公司 嵌入式设备应用功能的程序运行控制方法及嵌入式设备
CN101996082B (zh) * 2009-08-28 2014-06-11 国际商业机器公司 协处理器系统和在本地存储器上加载应用程序的方法
US8364857B2 (en) * 2009-08-31 2013-01-29 Qualcomm Incorporated Wireless modem with CPU and auxiliary processor that shifts control between processors when in low power state while maintaining communication link to wireless network
CN105630498A (zh) * 2015-12-24 2016-06-01 北京金山安全软件有限公司 一种应用程序展示方法、装置及电子设备
CN106197468B (zh) * 2016-06-24 2018-02-02 广东欧珀移动通信有限公司 计步器步数更新的方法及系统
CN108200635B (zh) * 2017-11-29 2019-12-10 维沃移动通信有限公司 一种应用程序的运行控制方法及移动终端
CN109460260B (zh) * 2018-10-24 2021-07-09 瑞芯微电子股份有限公司 一种快速开机的方法和装置
CN110377358A (zh) * 2019-06-28 2019-10-25 深圳市汇川技术股份有限公司 协处理器固件动态加载方法、系统、设备及存储介质

Also Published As

Publication number Publication date
CN112988338A (zh) 2021-06-18
WO2021115257A1 (zh) 2021-06-17

Similar Documents

Publication Publication Date Title
CN108595224B (zh) 应用程序提示方法、装置、存储介质及终端
CN110888746A (zh) 内存管理方法、装置、存储介质及电子设备
EP3811191B1 (en) Electronic device for displaying list of executable applications on split screen and operating method thereof
CN112987986B (zh) 实现游戏应用的方法、装置、存储介质及电子设备
EP3575963A2 (en) Method for preloading application, storage medium, and terminal
CN112596648B (zh) 页面处理方法、装置、电子设备及可读存储介质
US10474507B2 (en) Terminal application process management method and apparatus
CN112988256B (zh) 应用启动方法、装置、存储介质及电子设备
WO2018036505A1 (zh) 一种终端后台应用程序的管理方法及装置
US11557907B2 (en) Method, electronic device, and storage medium for displaying charging state in start of charging
CN113127130B (zh) 页面跳转方法、装置及存储介质
KR102666329B1 (ko) 어플리케이션 실행 방법 및 장치
CN110865884A (zh) 一种内存管理方法及装置
CN112996089B (zh) 数据传输方法、装置、存储介质及电子设备
CN108845838B (zh) 应用程序预加载方法、装置、存储介质及终端
CN108564539B (zh) 一种显示图像的方法和装置
CN112988338B (zh) 应用切换方法、装置、存储介质及电子设备
CN108762838B (zh) 应用程序预加载方法、装置、存储介质及终端
US10929085B2 (en) Electronic apparatus for controlling display of virtual input interface in environment of a plurality of output screens and operating method thereof
CN110266875B (zh) 一种提示信息的显示方法及电子设备
CN106708575B (zh) 移动终端及其加载运行应用的方法和装置
CN113469322B (zh) 确定模型的可执行程序的方法、装置、设备及存储介质
CN110471622B (zh) 一种sd卡数据写入方法、装置、存储介质及终端
CN114546171A (zh) 数据分发方法、装置、存储介质及电子设备
CN112925654B (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