CN114153570A - 一种应用切换方法及装置 - Google Patents
一种应用切换方法及装置 Download PDFInfo
- Publication number
- CN114153570A CN114153570A CN202111211373.XA CN202111211373A CN114153570A CN 114153570 A CN114153570 A CN 114153570A CN 202111211373 A CN202111211373 A CN 202111211373A CN 114153570 A CN114153570 A CN 114153570A
- Authority
- CN
- China
- Prior art keywords
- application
- terminal
- target
- target application
- stack
- 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
Images
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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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
-
- 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
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephone Function (AREA)
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
Abstract
本申请的实施例提供一种应用切换方法及装置,涉及通信技术领域,可降低后台应用运行时占用的内存,提高终端的运行速度。该方法包括:当目标应用在前台运行时,终端获取对该目标应用的第一切换指令,该第一切换指令用于指示将该目标应用切换至后台;响应于第一切换指令,终端将该目标应用切换至后台;响应于第一切换指令,终端释放该目标应用占用的至少一部分内存。
Description
技术领域
本申请实施例涉及通信技术领域,尤其涉及一种应用切换方法及装置。
背景技术
目前,手机和平板电脑等终端均可支持应用的多任务处理功能,即用户可以在同一时间内运行多个应用,每个应用可被称作一个任务。其中,在前台运行的可与用户直接交互的应用称为前台应用,而在后台运行的不能与用户直接交互的应用称为后台应用。
以安卓系统为例,用户可以通过相应的按钮或手势将正在运行的前台任务切换至后台运行。例如,手机在前台运行微信应用时,如图1中的(a)所示,如果检测到用户点击返回按钮11,则手机将微信应用作为后台应用切换至后台继续运行,此时,如图1中的(b)所示,终端返回桌面状态,用户从显示界面中看不到在后台运行的后台应用,但后台应用在后台运行时仍然会占用手机的内存。
那么,当后台运行的后台应用过多时,这些后台应用占用的内存也会增加,导致手机的运行速度降低,手机容易出现卡顿现象。
发明内容
本申请的实施例提供一种应用切换方法及装置,可降低后台应用运行时占用的内存,提高终端的运行速度。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,本申请的实施例提供一种应用切换方法,包括:当目标应用在前台运行时,终端获取对该目标应用的第一切换指令,该第一切换指令用于指示将该目标应用切换至后台;响应于第一切换指令,终端将该目标应用切换至后台,并释放该目标应用占用的至少一部分内存,从而使得目标应用切入后台后占用的内存减小,从而增加终端实际可利用的运行内存,进而可提高终端内各应用的运行速度。
在一种可能的设计方法中,终端在释放目标应用占用的内存时,可释放该目标应用占用部分内存;或者,终端在释放目标应用占用的内存时,也可释放该目标应用占用的全部内存,本发明实施例对此不作任何限制。
当终端释放该目标应用占用的部分内存时,在一种可能的设计方法中,终端可将该目标应用占用的内存中存储的内存数据进行压缩,由于压缩后目标应用占用的内存减小,从而释放该目标应用占用的部分内存,这样,终端在运行其他应用时终端也可使用被释放的这部分内存,从而提高终端的运行速度。
在一种可能的设计方法中,终端将该目标应用占用的内存中存储的内存数据进行压缩,包括:终端使用与该目标应用对应的压缩算法,对该目标应用的内存数据进行压缩。也就是说,当终端将不同的应用切换至后台时,可使用不同的压缩算法对其内存中的内存数据进行压缩,从而提高压缩效率。
在一种可能的设计方法中,在终端将该目标应用占用的内存中存储的内存数据进行压缩之后,还包括:终端保存与该目标应用关联的压缩标识,该压缩标识用于指示该目标应用的内存数据是否被压缩,或者,压缩该目标应用的内存数据时使用的压缩算法。后续,终端可根据该压缩标识确定相应的解压算法对目标应用的内存数据进行解压。
当终端释放该目标应用占用的部分内存时,在另一种可能的设计方法中,由于目标应用占用的内存中包括用于进行显示的绘图资源;因此,终端可释放该目标应用占用的这部分绘图资源即可。由于目标应用切换至后台后不需要进行显示,因此,将其绘图资源释放后切入后台,既可以降低目标应用切入后台后占用的内存,又可以保证目标应用切入后台后能够正常在后台运行。
当终端释放该目标应用占用的全部内存时,终端还可记录该目标应用当前的运行状态信息,该运行状态信息用于指示该目标应用的运行进度。后续,终端根据该运行状态信息,可将该目标应用的运行进度恢复至与该目标应用切换至后台时相同的状态。
在一种可能的设计方法中,在终端获取对该目标应用的第一切换指令之后,还包括:终端保存该目标应用当前的目标应用界面图;或者,终端保存绘制该目标应用当前的应用界面图的目标绘图命令。这样,在前台恢复该目标应用时可以快速为用户展示目标应用最后一次切入后台时的应用界面,从而减少用户等待目标应用切换回前台时进行恢复的时间,提升应用从后台切换回前台时流畅性。
在一种可能的设计方法中,终端释放该目标应用占用的至少一部分内存,包括:终端释放该目标应用占用的内存时,保留该目标应用界面图或该目标绘图命令占用的内存。
在一种可能的设计方法中,在终端将该目标应用切换至后台之后,还包括:终端获取对该目标应用的第二切换指令,该第二切换指令用于指示将该目标应用切换回前台;响应于第二切换指令,终端恢复该目标应用占用的内存;响应于第二切换指令,终端将该目标应用切换回前台运行,实现目标应用在前台和后台之间的无缝切换。
在一种可能的设计方法中,终端恢复该目标应用占用的内存,包括:终端通过解压算法对该目标应用的内存数据进行解压,以恢复该目标应用占用的内存。
在一种可能的设计方法中,终端恢复该目标应用占用的内存,包括:终端根据保存的运行状态信息,将该目标应用的运行进度恢复至与该目标应用切换至后台时相同的状态,以恢复该目标应用占用的内存。
在一种可能的设计方法中,在终端将该目标应用切换回前台运行之前,还包括:终端显示该目标应用切换至后台时的目标应用界面图。
在一种可能的设计方法中,终端将该目标应用切换回前台运行之后,还包括:终端在前台刷新该目标应用的运行状态,将目标应用在后台时更新的运行状态显示在前台,使用户将目标应用切换回前台时可以完整的观看到目标应用从切换至后台到切换回前台时运行状态的整个变化过程。
第二方面,本申请的实施例提供一种终端,包括:通信模块,用于:当目标应用在前台运行时,获取对该目标应用的第一切换指令,该第一切换指令用于指示将该目标应用切换至后台;处理模块,用于:响应于第二切换指令,将目标应用切换至后台;以及,响应于第二切换指令,释放该目标应用占用的至少一部分内存。
在一种可能的设计方法中,该处理模块,具体用于:将该目标应用占用的内存中存储的内存数据进行压缩,以释放该目标应用占用的部分内存。
在一种可能的设计方法中,该处理模块,具体用于:使用与该目标应用对应的压缩算法,对该目标应用的内存数据进行压缩。
在一种可能的设计方法中,该终端还包括:存储模块,用于:保存与该目标应用关联的压缩标识,该压缩标识用于指示该目标应用的内存数据是否被压缩,或者,压缩该目标应用的内存数据时使用的压缩算法。
在一种可能的设计方法中,目标应用占用的内存中包括绘图资源;此时,该处理模块,具体用于:释放该目标应用占用的绘图资源。
在一种可能的设计方法中,该处理模块,具体用于:将该目标应用占用的全部内存释放,并且,记录该目标应用当前的运行状态信息,该运行状态信息用于指示该目标应用的运行进度。
在一种可能的设计方法中,该存储模块,还用于:保存该目标应用当前的目标应用界面图;或者,保存绘制该目标应用当前的应用界面图的目标绘图命令。
在一种可能的设计方法中,该处理模块,具体用于:释放该目标应用占用的内存时,保留该目标应用界面图或该目标绘图命令占用的内存。
在一种可能的设计方法中,该通信模块,还用于:获取对该目标应用的第二切换指令,该第二切换指令用于指示将该目标应用切换回前台;该处理模块,还用于:响应于第二切换指令,恢复该目标应用占用的内存;以及,响应于第二切换指令,将该目标应用切换回前台运行。
在一种可能的设计方法中,该处理模块,具体用于:通过解压算法对该目标应用的内存数据进行解压,以恢复该目标应用占用的内存。
在一种可能的设计方法中,该处理模块,具体用于:根据保存的运行状态信息,将该目标应用的运行进度恢复至与该目标应用切换至后台时相同的状态,以恢复该目标应用占用的内存。
在一种可能的设计方法中,该终端还包括显示模块,用于:显示该目标应用切换至后台时的目标应用界面图。
在一种可能的设计方法中,上述处理模块,还用于:在前台刷新该目标应用的运行状态。
第三方面,本申请的实施例提供一种终端,包括:处理器、存储器、总线和通信接口;该存储器用于存储计算机执行指令,该处理器与该存储器通过该总线连接,当终端运行时,该处理器执行该存储器存储的该计算机执行指令,以使终端执行上述任一项应用切换方法。
第四方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在上述任一项终端上运行时,使得终端执行上述任一项应用切换方法。
第五方面,本申请实施例提供一种包含指令的计算机程序产品,当其在上述任一项终端上运行时,使得终端执行上述任一项应用切换方法。
本申请的实施例中,上述终端的名字对设备本身不构成限定,在实际实现中,这些设备可以以其他名称出现。只要各个设备的功能和本申请的实施例类似,即属于本申请权利要求及其等同技术的范围之内。
另外,第二方面至第五方面中任一种设计方式所带来的技术效果可参见上述第一方面中不同设计方法所带来的技术效果,此处不再赘述。
附图说明
图1为现有技术中前台应用切换至后台时的应用场景示意图;
图2为本申请实施例提供的一种终端的结构示意图一;
图3为本申请实施例提供的一种应用切换方法的流程示意图;
图4为本申请实施例提供的一种应用切换方法的应用场景示意图一;
图5A为本申请实施例提供的一种应用切换方法的应用场景示意图二;
图5B为本申请实施例提供的一种应用切换方法的应用场景示意图三;
图6为本申请实施例提供的一种应用切换方法的应用场景示意图四;
图7为本申请实施例提供的一种应用切换方法的应用场景示意图五;
图8为本申请实施例提供的一种应用切换方法的应用场景示意图六;
图9为本申请实施例提供的一种应用切换方法的应用场景示意图七;
图10为本申请实施例提供的一种应用切换方法的应用场景示意图八;
图11为本申请实施例提供的一种应用切换方法的应用场景示意图九;
图12为本申请实施例提供的一种应用切换方法的应用场景示意图十;
图13为本申请实施例提供的一种应用切换方法的应用场景示意图十一;
图14为本申请实施例提供的一种终端的结构示意图二;
图15为本申请实施例提供的一种终端的结构示意图三。
具体实施方式
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请实施例提供的一种应用切换方法,可应用于手机、终端、增强现实(AR)\虚拟现实(VR)设备、平板电脑、笔记本电脑、超级移动个人计算机(UMPC)、上网本、个人数字助理(PDA)等任意终端上,当然,在以下实施例中,对该终端的具体形式不作任何限制。
如图2所示,本申请实施例中的终端可以为手机100。下面以手机100为例对实施例进行具体说明。应该理解的是,图示手机100仅是上述终端的一个范例,并且手机100可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。
如图2所示,手机100具体可以包括:处理器101、射频(RF)电路102、存储器103、触摸屏104、蓝牙装置105、一个或多个传感器106、Wi-Fi装置107、定位装置108、音频电路109、外设接口110以及电源系统111等部件。这些部件可通过一根或多根通信总线或信号线(图2中未示出)进行通信。本领域技术人员可以理解,图2中示出的硬件结构并不构成对手机的限定,手机100可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图2对手机100的各个部件进行具体的介绍:
处理器101是手机100的控制中心,利用各种接口和线路连接手机100的各个部分,通过运行或执行存储在存储器103内的应用程序,以及调用存储在存储器103内的数据,执行手机100的各种功能和处理数据。在一些实施例中,处理器101可包括一个或多个处理单元;举例来说,处理器101可以是华为技术有限公司制造的麒麟960芯片。在本申请一些实施例中,上述处理器101还可以包括指纹验证芯片,用于对采集到的指纹进行验证。
在本发明实施例中,处理器101还可以包括图形处理器(Graphics ProcessingUnit,GPU)115。其中,GPU 115是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上进行图像运算工作的微处理器。它可将手机100所需要的显示信息进行转换驱动,并向显示器104-2提供行扫描信号,控制显示器104-2的正确显示。
具体的,在显示过程中,手机100可将相应的绘图命令发送给GPU 115,例如,该绘图命令可以为“在坐标位置(x,y)处画个长和宽为a×b大小的长方形”,那么,GPU 115根据该绘图指令便可以迅速计算出该图形的所有像素,并在显示器104-2上指定位置画出相应的图形。
需要说明的是,GPU 115可以以功能模块的形式集成在处理器101内,也可以以独立的实体形态(例如,显卡)设置在手机100内,本发明实施例对此不作任何限制。
射频电路102可用于在收发信息或通话过程中,无线信号的接收和发送。特别地,射频电路102可以将基站的下行数据接收后,给处理器101处理;另外,将涉及上行的数据发送给基站。通常,射频电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频电路102还可以通过无线通信和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统、通用分组无线服务、码分多址、宽带码分多址、长期演进、电子邮件、短消息服务等。
存储器103用于存储应用程序以及数据,处理器101通过运行存储在存储器103的应用程序以及数据,执行手机100的各种功能以及数据处理。存储器103主要包括存储程序区以及存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等);存储数据区可以存储根据使用手机100时所创建的数据(比如音频数据、电话本等)。此外,存储器103可以包括高速随机存取存储器(RAM),还可以包括非易失存储器,例如磁盘存储器件、闪存器件或其他易失性固态存储器件等。存储器103可以存储各种操作系统,例如,苹果公司所开发的操作系统,谷歌公司所开发的操作系统等。上述存储器103可以是独立的,通过上述通信总线与处理器101相连接;存储器103也可以和处理器101集成在一起。
其中,手机100的随机存取存储器也可被称为内存或运行内存,手机100内安装的各应用在运行过程中均需要占用一定的内存运行应用相关程序。因此,当内存越大时手机100可以同时运行更多的应用,可更为迅速地运行各个应用,也可更加快速地在不同应用之间切换。
在本发明实施例中,当手机100的内存大小一定时,为了避免在后台运行的后台应用占用过多的手机内存,当手机100将前台应用切换至后台运行时,可释放该应用占用的部分或全部内存,使得应用切入后台运行后占用的内存减小,从而增加手机100可实际利用的运行内存,提高终端内各应用的运行速度。
触摸屏104具体可以包括触控板104-1和显示器104-2。
其中,触控板104-1可采集手机100的用户在其上或附近的触摸事件(比如用户使用手指、触控笔等任何适合的物体在触控板104-1上或在触控板104-1附近的操作),并将采集到的触摸信息发送给其他器件(例如处理器101)。其中,用户在触控板104-1附近的触摸事件可以称之为悬浮触控;悬浮触控可以是指,用户无需为了选择、移动或拖动目标(例如图标等)而直接接触触控板,而只需用户位于终端附近以便执行所想要的功能。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型来实现触控板104-1。
显示器(也称为显示屏)104-2可用于显示由用户输入的信息或提供给用户的信息以及手机100的各种菜单。可以采用液晶显示器、有机发光二极管等形式来配置显示器104-2。触控板104-1可以覆盖在显示器104-2之上,当触控板104-1检测到在其上或附近的触摸事件后,传送给处理器101以确定触摸事件的类型,随后处理器101可以根据触摸事件的类型在显示器104-2上提供相应的视觉输出。虽然在图2中,触控板104-1与显示屏104-2是作为两个独立的部件来实现手机100的输入和输出功能,但是在某些实施例中,可以将触控板104-1与显示屏104-2集成而实现手机100的输入和输出功能。可以理解的是,触摸屏104是由多层的材料堆叠而成,本申请实施例中只展示出了触控板(层)和显示屏(层),其他层在本申请实施例中不予记载。另外,触控板104-1可以以全面板的形式配置在手机100的正面,显示屏104-2也可以以全面板的形式配置在手机100的正面,这样在手机的正面就能够实现无边框的结构。
另外,手机100还可以具有指纹识别功能。例如,可以在手机100的背面(例如后置摄像头的下方)配置指纹识别器112,或者在手机100的正面(例如触摸屏104的下方)配置指纹识别器112。又例如,可以在触摸屏104中配置指纹采集器件112来实现指纹识别功能,即指纹采集器件112可以与触摸屏104集成在一起来实现手机100的指纹识别功能。在这种情况下,该指纹采集器件112配置在触摸屏104中,可以是触摸屏104的一部分,也可以以其他方式配置在触摸屏104中。本申请实施例中的指纹采集器件112的主要部件是指纹传感器,该指纹传感器可以采用任何类型的感测技术,包括但不限于光学式、电容式、压电式或超声波传感技术等。
手机100还可以包括蓝牙装置105,用于实现手机100与其他短距离的终端(例如手机、智能手表等)之间的数据交换。本申请实施例中的蓝牙装置可以是集成电路或者蓝牙芯片等。
手机100还可以包括至少一种传感器106,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节触摸屏104的显示器的亮度,接近传感器可在手机100移动到耳边时,关闭显示器的电源。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机100还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
Wi-Fi装置107,用于为手机100提供遵循Wi-Fi相关标准协议的网络接入,手机100可以通过Wi-Fi装置107接入到Wi-Fi接入点,进而帮助用户收发电子邮件、浏览网页和访问流媒体等,它为用户提供了无线的宽带互联网访问。在其他一些实施例中,该Wi-Fi装置107也可以作为Wi-Fi无线接入点,可以为其他终端提供Wi-Fi网络接入。
定位装置108,用于为手机100提供地理位置。可以理解的是,该定位装置108具体可以是全球定位系统(GPS)或北斗卫星导航系统、俄罗斯GLONASS等定位系统的接收器。定位装置108在接收到上述定位系统发送的地理位置后,将该信息发送给处理器101进行处理,或者发送给存储器103进行保存。在另外的一些实施例中,该定位装置108还可以是辅助全球卫星定位系统(AGPS)的接收器,AGPS系统通过作为辅助服务器来协助定位装置108完成测距和定位服务,在这种情况下,辅助定位服务器通过无线通信网络与终端例如手机100的定位装置108(即GPS接收器)通信而提供定位协助。在另外的一些实施例中,该定位装置108也可以是基于Wi-Fi接入点的定位技术。由于每一个Wi-Fi接入点都有一个全球唯一的MAC地址,终端在开启Wi-Fi的情况下即可扫描并收集周围的Wi-Fi接入点的广播信号,因此可以获取到Wi-Fi接入点广播出来的MAC地址;终端将这些能够标示Wi-Fi接入点的数据(例如MAC地址)通过无线通信网络发送给位置服务器,由位置服务器检索出每一个Wi-Fi接入点的地理位置,并结合Wi-Fi广播信号的强弱程度,计算出该终端的地理位置并发送到该终端的定位装置108中。
音频电路109、扬声器113、麦克风114可提供用户与手机100之间的音频接口。音频电路109可将接收到的音频数据转换后的电信号,传输到扬声器113,由扬声器113转换为声音信号输出;另一方面,麦克风114将收集的声音信号转换为电信号,由音频电路109接收后转换为音频数据,再将音频数据输出至RF电路102以发送给比如另一手机,或者将音频数据输出至存储器103以便进一步处理。
外设接口110,用于为外部的输入/输出设备(例如键盘、鼠标、外接显示器、外部存储器、用户识别模块卡等)提供各种接口。例如通过通用串行总线(USB)接口与鼠标连接,通过用户识别模块卡卡槽上的金属触点与电信运营商提供的用户识别模块卡(SIM)卡进行连接。外设接口110可以被用来将上述外部的输入/输出外围设备耦接到处理器101和存储器103。
手机100还可以包括给各个部件供电的电源装置111(比如电池和电源管理芯片),电池可以通过电源管理芯片与处理器101逻辑相连,从而通过电源装置111实现管理充电、放电、以及功耗管理等功能。
尽管图2未示出,手机100还可以包括摄像头(前置摄像头和/或后置摄像头)、闪光灯、微型投影装置、近场通信(NFC)装置等,在此不再赘述。
以下,将结合具体实施例详细阐述本申请实施例提供的一种应用切换方法,如图3所述,该方法包括:
301、当目标应用在前台运行时,终端获取对该目标应用的第一切换指令,该第一切换指令用于指示将该目标应用切换至后台。
其中,上述目标应用可以是终端内安装的任意应用,例如用户从第三方应用市场下载的应用,或者终端系统自带的应用等,本发明实施例对此不作任何限制。
当终端在前台运行目标应用时,用户可以在终端的显示界面中直接操作该目标应用,例如,在视频应用中打开视频,在联系人应用中查找联系人等。那么,如图4所示,当用户点击终端的返回按键41(或HOME按键)时,说明用户想要退出正在前台运行的微信应用(即目标应用),那么,终端检测到用户的这一操作后可生成第一切换指令,即将目标应用从前台切换至后台的指令。
当然,有的应用在在前台运行时会跳转或链接至其他应用,此时,终端也可生成对该前台应用的第一切换指令,本发明实施例对此不作任何限制。
进而,响应于上述第一切换指令,在终端将上述目标应用作为后台应用切换至后台之前,终端可先执行下述步骤302和303,以提高终端的运行速度。
302、终端保存上述目标应用当前的应用界面图或者绘制该应用界面图的绘图命令。
可选的,在步骤302中,终端可以将获取到上述第一切换指令时目标应用的应用界面图保存下来,例如,仍如图4所示,当用户点击终端的返回按键41时,微信应用当前的应用界面图为用户与“小蝌蚪”的聊天窗口42。
如图5A所示,终端可以应用栈(stack)51的形式管理正在运行的前台应用和后台应用,应用栈51遵循先进后出的原则,终端总是显示和执行位于栈顶的应用,该位于栈顶的应用即为前台应用。
当终端启动新的应用时,会将该新的应用作为新的前台应用压入应用栈51的栈顶,此时,原本位于栈顶的前台应用被切入后台不做显示。如图5A所示,应用栈51中位于栈底的应用为短信应用,位于栈顶的应用为微信应用(即终端在前台正在执行微信应用)。
那么,可以在终端内设置一个专门用于存储应用界面图的目标栈,该目标栈可以与终端内的应用栈相关联。也就是说,某个应用在应用栈中的位置,与该应用切入后台时的应用界面图在上述目标栈中的位置相同。
仍如图5A所示,当终端将短信应用切入后台时,可将生成的短信应用的应用界面图1保存至第一目标栈52中;当终端将微信应用切入后台时,可将生成的微信应用的应用界面图2压入第一目标栈52的栈顶;当终端后续将其他应用切入后台时,可将对应的应用界面图继续压入第一目标栈52的栈顶,这样,应用栈51中的各个应用与第一目标栈52中的各个应用界面图一一对应。
后续,当终端将上述目标应用切换回前台时,终端可先从第一目标栈52中将与该目标应用关联的应用界面图弹出至栈顶显示给用户,并且,将应用栈51中被压入栈的目标应用弹出至栈顶,从而在前台恢复该目标应用。这样,在前台恢复目标应用时可以快速为用户展示目标应用最后一次切入后台时的应用界面,从而减少用户等待目标应用切换回前台时进行恢复的时间,提升应用从后台切换回前台时流畅性。
又或者,由于终端显示界面中显示的应用界面一般都是由GPU通过执行相应的绘图命令绘制的,那么,当终端获取到上述第一切换指令时,终端也可以将此时GPU绘制目标应用的应用界面时使用的绘图命令(该绘图命令中可包括一条或多条绘图命令)保存下来,例如,GPU保存绘制图4中用户与“小蝌蚪”的聊天窗口42时使用的绘图命令,这样,当终端将上述目标应用切换回前台时,GPU可根据保存的绘图命令快速绘制出上述聊天窗口42,以展示给用户,从而减少用户等待目标应用切换回前台时进行恢复的时间。
类似的,终端也可将上述绘图命令以堆栈的形式与应用栈关联并保存,如图5B所示,当终端将短信应用切入后台时,可将GPU绘制当前短信应用的应用界面图1时使用的绘图命令1保存至第二目标栈53中;当终端将微信应用切入后台时,可将GPU绘制当前微信应用的应用界面图2时使用的绘图命令2保存至第二目标栈53中;当终端后续将其他应用切入后台时,可将GPU绘制该应用当前的应用界面图时的使用的绘图命令继续压入第二目标栈53中,这样,应用栈51中的各个应用与第二目标栈53中的各个应用界面图的绘图命令一一对应。
303、终端将上述目标应用切换至后台。
304、终端释放上述目标应用所占用的部分或全部内存。
以安卓系统为例,应用在终端内的运行状态可以划分为活动状态(active)、暂停状态(pause)和停止状态(stop)。一般,在在前台运行的前台应用处于活动状态,当终端将前台应用切换至后台作为后台应用时,可将该应用的运行状态修改为暂停状态,后续,如果用户或终端将该应用的进程清理掉时,终端可将该应用的运行状态修改为停止状态。而当应用的运行状态为暂停状态时,虽然该应用被切入后台退出了终端的显示界面,但该应用被切入后台后仍然占用终端的内存在后台运行着。
那么,在步骤303和304中,当终端获取到对上述目标应用的第一切换指令后,可触发终端将该目标应用的运行状态切换为暂停状态,将新的运行任务(例如运行桌面的任务或者运行新应用的任务)压入应用栈的栈顶,使得目标应用被切换至后台。并且,在终端将上述目标应用切换至后台时或者将上述目标应用切换至后台后,为了避免目标应用在台后占用大量的内存,终端还可以释放该目标应用所占用的部分或全部内存,这样,终端内未被占用的内存大小增加,终端后续在运行其他应用时可使用的内存大小增加,从而可提高终端的运行速度。
在一种可能的设计方法中,如图6所示,在将上述目标应用切换至后台时,终端可以使用预设的压缩算法对上述目标应用占用的内存601中保存的内存数据进行压缩,使得压缩后目标应用占用的内存602减小。
例如,如图6所示,内存601的大小为50M,终端可以通过压缩算法对这50M内存中的碎片化数据进行合并和整理,这样,压缩后上述目标应用占用的内存602大小降低为20M。此时,终端将目标应用切换至后台时,上述目标应用占用的内存减小了30M,即终端释放了30M的内存空间,那么,终端此时实际可用的内存也相应增加了30M,这样,终端在运行其他应用时终端也可使用这30M的内存,从而提高终端的运行速度。
又或者,上述压缩算法还可以是对目标应用运行过程产生的对数据、栈数据等运行状态数据进行压缩,压缩后目标应用占用的内存也将降低,使得上述目标应用切换至后台占用的内存减少。后续,终端将目标应用切换回前台时可对已经被压缩的内存数据进行解压,解压后的内存数据与压缩时的内存数据相同,从而保证目标应用在切换前后的运行状态一致,实现目标应用的无缝接续,提高用户使用体验。
可选的,在上述内存数据的压缩过程中,终端可以对预先设置的一些应用功能的内存数据保留,即对这些内存数据不进行压缩,例如,微信应用在后台刷新消息的进程、音乐应用的后台播放进程等。这样,终端将内存数据压缩后的目标应用切入后台时,仍然能够保证目标应用的这些功能正常运行,从而提高用户体验。
进一步地,对于不同的目标应用,终端还可以使用不同的压缩算法对其内存数据进行压缩。例如,当目标应用占用的内存大小大于第一阈值时,终端可使用压缩率较高的压缩算法对其内存数据进行压缩;当目标应用占用的内存大小小于第二阈值(第二阈值小于或等于上述第一阈值)时,终端可使用压缩率较低的压缩算法对其内存数据进行压缩,本发明实施例对此不作任何限制。
另外,当终端对目标应用的内存数据进行压缩后,还可以保存一个与该目标应用关联的压缩标识,例如,在上述应用栈51中目标应用的对应位置处保存该压缩标识。
示例性的,可设置压缩标识“1”用于指示该目标应用的内存数据被压缩过,压缩标识“0”用于指示该目标应用的内存数据没有被压缩过。那么,后续终端将上述目标应用恢复至前台运行时,可以根据该压缩标识确定是否对上述目标应用的内存数据进行解压。
又或者,当终端内设置有多种压缩算法时,上述压缩标识可以用于指示压缩上述目标应用的内存数据时具体使用的压缩算法。例如,压缩标识“01”用于指示压缩上述目标应用的内存数据时使用的压缩算法为算法1,压缩标识“00”用于指示压缩上述目标应用的内存数据时使用的压缩算法为算法2。那么,后续终端将上述目标应用恢复至前台运行时,可以根据该压缩标识确定相对应的解压算法对上述目标应用的内存数据进行解压。
可以理解的是,本领域技术人员可以根据实际经验或者实际应用场景设置上述压缩算法,本发明实施例对此不做任何限制。
在一种可能的设计方法中,如图7所示,目标应用运行时占用的内存可以进一步划分为用于在终端上进行显示的绘图资源701和其他资源702(例如,进程运行时占用的资源,当前显示的元素的规格等)。那么,当终端将上述目标应用切换至后台时,由于目标应用在后台运行时不会在终端的显示界面中显示,因此,终端可以将上述绘图资源701释放掉,从而降低后台应用占用的内存,提高终端的运行速度。
又或者,如果终端在上述步骤302中保存了目标应用当前的应用界面图42(或者绘制应用界面图42的绘图命令),那么,如图8所示,当终端将上述目标应用切换至后台时,可仅保留绘图资源701中的应用界面图42(或者绘制应用界面图42的绘图命令),而绘图资源701中剩余的内存可以被释放掉。
那么,当终端后续将上述目标应用切换回前台时,可先将目标应用切换至后台时最后一帧显示的应用界面图42展示给用户,进而重新加载终端的绘图资源701,从而在前台完整的恢复该目标应用。此时,由于目标应用占用的内存被恢复后与目标应用切换至后台时占用的内存一致,因此,恢复出的目标应用与目标应用切换至后台时的运行状态一致。这样一来,不仅可以降低目标应用在后台时占用的内存,还可以在前台恢复目标应用时减少用户的等待时间,提升终端的运行速度。
又或者,如图9所示,当终端将上述目标应用切换至后台时,还可以将目标应用占用的绘图资源701和其他资源702都释放掉,从而最大程度的降低目标应用切入后台后占用的内存。此时,终端可以记录将上述目标应用切换至后台时该目标应用的运行状态信息。
例如,该运行状态信息可以包括目标应用的包名(package name),这样,当终端后续将上述目标应用切换回前台时,可根据目标应用的包名在前台重新启动该目标应用,使得目标应用在前台和后台之间实现切换的同时,最大程度的降低目标应用在后台时占用的内存。
又例如,该运行状态信息中除了记录目标应用的包名外,还可以记录目标应用切入后台时的运行进度。例如,以微信应用为目标应用举例,如果将微信应用切入后台时,微信应用停留在与用户A聊天的界面,那么,终端可以将与用户A的聊天信息作为运行进度记录在上述运行状态信息中。这样,当终端后续将上述目标应用切换回前台时,可根据目标应用的包名在前台重新启动该目标应用,并且,还可以根据其运行状态信息中记录的运行进度将目标应用恢复至切换入后台时的运行进度,使得目标应用在切切入后台前后可以实现无缝对接,在降低目标应用在后台占用内存的同时大大提高了用户的使用体验。
当然,如果终端在上述步骤302中保存了目标应用当前的应用界面图42(或者绘制应用界面图42的绘图命令),那么,如图10所示,终端在释放目标应用占用的绘图资源701和其他资源702时,可保留上述应用界面图42(或者绘制应用界面图42的绘图命令)不被释放。这样,当终端后续将上述目标应用切换回前台时,可先将目标应用切换至后台时最后一帧显示的应用界面图42展示给用户,进而根据记录的运行状态信息在前台恢复该目标应用。这样一来,不仅可以降低目标应用在后台时占用的内存,还可以在前台恢复目标应用时减少用户的等待时间,提升终端的运行速度。
至此,终端在将目标应用切换至后台前,可通过上述步骤304释放上述目标应用所占用的部分或全部内存,这样,目标应用被切换至后台后不会占用终端过多的内存资源,从而增加终端实际可用的内存大小,以提高终端的运行速度。
需要说明的是,本申请实施例中对上述步骤303和304的执行顺序不做任何限定。例如,终端可以先执行步骤303将目标应用切换至后台,再执行步骤304释放目标应用在后台占用的内存,也可以通过并行的两条进程同时执行步骤303和304,即终端在将目标应用切换至后台的同时,释放目标应用占用的内存,本发明实施例对此不作任何限制。
示例性的,步骤303和304均可为终端响应于步骤301中获取到的第一切换指令后执行的,也就是说,当终端获取到上述第一切换指令后,可触发终端执行将目标应用切换至后台以及释放目标应用占用的内存这两个动作,无需用户手动清理应用占用的内存。
305、终端获取对目标应用的第二切换指令,该第二切换指令用于指示将该目标应用切换回前台运行。
可选的,终端将上述目标应用切换至后台后,如果检测到用户再次触发打开该目标应用的操作,例如,点击目标应用的图标,或者,如图11所示,用户在多任务界面中点击目标应用所在的目标窗口801等,则终端此时生成对目标应用的第二切换指令,即将该目标应用切换回前台运行的指令。
306、终端显示上述目标应用切换至后台时的应用界面图。
在步骤306中,当终端获取到上述将目标应用切换回前台的第二切换指令后,终端可首先将步骤302中保存的上述目标应用的应用界面图(例如图4中保存的微信应用的应用界面图42)显示给用户,如图12所示,由于该应用界面图完整的反映了终端将目标应用(即微信应用)切换至后台时的运行状态,因此,用户可以第一时间看到最后一次操作目标应用时的运行状态,那么,对于用户而言,不仅避免了应用切换回前台时出现的卡顿感受,同时使得应用切换回前台的整个过程更加流畅,实现应用从切入后台到切回前台这两个过程的无缝衔接。
具体的,终端获取到上述第二切换指令后,如图5A所示,终端可将应用栈51中的目标应用弹出至栈顶,并将第一目标栈52中与目标应用关联的应用界面图弹出至栈顶。此时,终端可显示位于第一目标栈52栈顶的上述目标应用的应用界面图。
当然,如果在步骤302中终端保存的是GPU绘制上述目标应用的应用界面图时使用的绘图命令,那么,在步骤306中,GPU可根据该绘图命令绘制目标应用切入后台时最后一帧的应用界面图并展示给用户,同样可以使得应用切换回前台的整个过程更加流畅,实现应用从切入后台到切回前台这两个过程的无缝衔接。
307、终端恢复上述目标应用占用的内存。
由于在终端在将上述目标应用切换至后台前释放了该目标应用占用的部分或全部内存资源,因此,在步骤307中,终端需要重新恢复上述目标应用占用的内存,以使得终端能够在前台正常运行该目标应用。由于解压后的内存数据与压缩时的内存数据相同,从而保证目标应用在切换前后的运行状态一致,实现目标应用的无缝接续
示例性的,如果在步骤303中终端通过压缩目标应用的内存数据的方法释放了其占用的内存,那么,在步骤307中,终端可以通过相应的解压算法将被压缩的内存数据解压,使得终端恢复上述目标应用占用的内存。
又或者,如果在步骤303中终端通过释放目标应用占用的绘图资源的方法释放了其占用的内存,那么,在步骤307中,终端可以通过重建绘图上下文、以及重新绘图等方式重建被释放的绘图资源,使得终端恢复上述目标应用占用的内存。同样,由于目标应用占用的内存被恢复后与目标应用切换至后台时占用的内存一致,因此,恢复出的目标应用与目标应用切换至后台时的运行状态一致。
又或者,如果在步骤303中终端释放了目标应用占用的绘图资源和其他资源,那么,在步骤307中,终端可以根据记录的目标应用的运行状态信息重新启动该目标应用并恢复目标应用的运行进度,使得终端恢复上述目标应用占用的内存。
至此,通过步骤305-307,终端为目标应用恢复其占用的内存,使得已经切入后台的目标应用重新切换回前台显示,恢复目标应用在前台运行时的可交互性。
需要说明的是,上述步骤307可与步骤306同时执行,从而提高终端在前台恢复目标应用的速度,使得目标应用在后台和前台切换时的流畅性提升。
308、终端在前台刷新上述目标应用的运行状态。
可选的,在步骤308中,终端将目标应用切换回前台之后,终端可在前台显示上述目标应用最新的运行状态,即刷新上述目标应用在前台运行时的显示界面。如图13所示,终端恢复了微信应用的内存,将微信应用重新切换回前台后,可将微信应用在后台运行时接收到的新消息(或新消息的图标)901刷新在当前的显示界面中,那么,用户将微信应用切换回前台时可以完整的观看到微信应用从切换至后台到切换回前台时运行状态的整个变化过程。
可以理解的是,上述终端等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
本申请实施例可以根据上述方法示例对上述终端等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图14示出了上述实施例中所涉及的终端的一种可能的结构示意图,该终端包括:获取单元1101、保存单元1102、释放单元1103、切换单元1104、恢复单元1105、显示单元1106以及刷新单元1107。
获取单元1101用于支持终端执行图3中的过程301和305;保存单元1102用于支持终端执行图3中的过程302;释放单元1103用于支持终端执行图3中的过程303;切换单元1104用于支持终端执行图3中的过程304;恢复单元1105用于支持终端执行图3中的过程307;显示单元1106用于支持终端执行图3中的过程306;刷新单元1107用于支持终端执行图3中的过程308。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,可将上述释放单元1103、切换单元1104、恢复单元1105以及刷新单元1107集成为处理模块,将保存单元1102作为存储模块,将获取单元1101作为通信模块,将显示单元1106作为显示模块。
此时,如图15所示,示出了上述实施例中所涉及的终端的一种可能的结构示意图。其中,处理模块1302用于对终端的动作进行控制管理。通信模块1303用于支持终端与其他网络实体的通信。存储模块1301用于保存终端的程序代码和数据。显示模块1304用于显示由用户输入的信息或提供给用户的信息以及终端的各种菜单。
在本发明实施例中,当目标应用在前台运行时,终端可通过通信模块1303获取对目标应用的第一切换指令,该第一切换指令用于指示将目标应用切换至后台;进而,处理模块1302可将目标应用切换至后台;并且,释放存储模块1301中目标应用占用的至少一部分内存,以提高终端的运行速度。
其中,上述应用切换方法涉及的各步骤的所有相关内容均可以援引到上述实施例步骤301-308中的相关描述,在此不再赘述。
示例性的,处理模块1302可以是处理器或控制器,例如可以是中央处理器(Central Processing Unit,CPU),GPU,通用处理器,数字信号处理器(Digital SignalProcessor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。
通信模块1303可以是收发器、收发电路、输入输出设备或通信接口等。例如,通信模块1303具体可以是蓝牙装置、Wi-Fi装置、外设接口等等。
存储模块1301可以是存储器,该存储器可以包括高速随机存取存储器(RAM),还可以包括非易失存储器,例如磁盘存储器件、闪存器件或其他易失性固态存储器件等。
显示模块1304可以为显示器,具体可以采用液晶显示器、有机发光二极管等形式来配置显示器。另外,显示器上还可以集成触控板,用于采集在其上或附近的触摸事件,并将采集到的触摸信息发送给其他器件(例如处理器等)。
当处理模块1302为处理器和GPU,通信模块1303为射频电路,存储模块1301为存储器,显示模块1304为显示器时,本发明实施例所提供的终端可以为图2所示的手机100。
在上述实施例中,可以全部或部分的通过软件,硬件,固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式出现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘,硬盘、磁带)、光介质(例如,DVD)或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种应用切换方法,其特征在于,所述方法包括:
当目标应用在前台运行时,终端获取对所述目标应用的第一切换指令,所述第一切换指令用于指示将所述目标应用切换至后台;
响应于所述第一切换指令,所述终端将所述目标应用切换至后台;
在终端获取对所述目标应用的第一切换指令之后,所述方法还包括:
所述终端保存所述目标应用当前最后一帧的目标应用界面图;或者,
所述终端保存绘制所述目标应用当前最后一帧的应用界面图的目标绘图命令;
其中,所述目标应用界面图或所述目标绘图命令用于所述目标应用切换回前台运行时显示所述目标应用界面图。
2.根据权利要求1所述的方法,其特征在于,所述目标应用界面图保存在第一目标栈中,所述第一目标栈用于存储应用界面图,所述第一目标栈与所述终端内的应用栈相关联,所述应用栈用于管理正在运行的前台应用和后台应用。
3.根据权利要求1所述的方法,其特征在于,所述目标绘图命令保存在第二目标栈中,所述第二目标栈用于存储绘图命令,所述第二目标栈与所述终端内的应用栈相关联,所述应用栈用于管理正在运行的前台应用和后台应用。
4.根据权利要求3所述的方法,其特征在于,所述目标绘图命令包括一条或多条绘图命令。
5.根据权利要求1-4中任一项所述的方法,其特征在于,在所述终端将所述目标应用切换至后台之后,所述方法还包括:
所述终端获取对所述目标应用的第二切换指令,所述第二切换指令用于指示将所述目标应用切换回前台;
响应于所述第二切换指令,所述终端将所述目标应用切换回前台运行。
6.根据权利要求5所述的方法,其特征在于,在所述终端将所述目标应用切换回前台运行之前,所述方法还包括:
所述终端显示所述目标应用切换至后台时的目标应用界面图。
7.根据权利要求6所述的方法,其特征在于,所述终端显示所述目标应用切换至后台时的目标应用界面图包括:
所述终端从第一目标栈中将与所述目标应用关联的所述目标应用界面图弹出至栈顶显示,并将应用栈中被压入栈的所述目标应用弹出至栈顶,所述第一目标栈用于存储应用界面图,所述第一目标栈与所述终端内的所述应用栈相关联,所述应用栈用于管理正在运行的前台应用和后台应用;或者,
所述终端根据第二目标栈中与所述目标应用关联的所述目标绘图命令绘制所述目标应用当前最后一帧的应用界面图,并将应用栈中被压入栈的所述目标应用弹出至栈顶,所述第二目标栈用于存储绘图命令,所述第二目标栈与所述终端内的所述应用栈相关联,所述应用栈用于管理正在运行的前台应用和后台应用。
8.根据权利要求5所述的方法,其特征在于,所述终端将所述目标应用切换回前台运行之后,所述方法还包括:
所述终端在前台刷新所述目标应用的运行状态。
9.一种终端,其特征在于,包括:处理器、存储器、总线和通信接口;
所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述终端运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述终端执行如权利要求1-8中任一项所述的应用切换方法。
10.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令在终端上运行时,使得所述终端执行如权利要求1-8中任一项所述的应用切换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111211373.XA CN114153570A (zh) | 2017-08-11 | 2017-08-11 | 一种应用切换方法及装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/097268 WO2019028912A1 (zh) | 2017-08-11 | 2017-08-11 | 一种应用切换方法及装置 |
CN201780067389.3A CN109891390B (zh) | 2017-08-11 | 2017-08-11 | 一种应用切换方法及装置 |
CN202111211373.XA CN114153570A (zh) | 2017-08-11 | 2017-08-11 | 一种应用切换方法及装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780067389.3A Division CN109891390B (zh) | 2017-08-11 | 2017-08-11 | 一种应用切换方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114153570A true CN114153570A (zh) | 2022-03-08 |
Family
ID=65272897
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780067389.3A Active CN109891390B (zh) | 2017-08-11 | 2017-08-11 | 一种应用切换方法及装置 |
CN202111211373.XA Pending CN114153570A (zh) | 2017-08-11 | 2017-08-11 | 一种应用切换方法及装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780067389.3A Active CN109891390B (zh) | 2017-08-11 | 2017-08-11 | 一种应用切换方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (2) | CN109891390B (zh) |
WO (1) | WO2019028912A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023245366A1 (zh) * | 2022-06-20 | 2023-12-28 | 北京小米移动软件有限公司 | 应用管理方法、装置、电子设备以及存储介质 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134219B (zh) * | 2019-05-13 | 2024-03-19 | 深圳传音通讯有限公司 | 应用程序后台耗电处理方法及装置 |
CN112860145B (zh) * | 2019-07-30 | 2022-08-26 | 华为技术有限公司 | 一种应用的控制方法与电子设备 |
CN111367828B (zh) * | 2020-02-27 | 2023-10-20 | Oppo广东移动通信有限公司 | 内存压缩方法、装置、终端及存储介质 |
CN111625351A (zh) * | 2020-05-12 | 2020-09-04 | Oppo(重庆)智能科技有限公司 | 文件页的回收方法和装置、终端和可读存储介质 |
CN112114965A (zh) * | 2020-09-15 | 2020-12-22 | 深圳市欢太科技有限公司 | 应用程序的运行方法、装置、终端及存储介质 |
CN116107742A (zh) * | 2021-06-10 | 2023-05-12 | 荣耀终端有限公司 | 虚拟内存管理方法和电子设备 |
CN117519959A (zh) * | 2022-07-30 | 2024-02-06 | 华为技术有限公司 | 内存管理方法及电子设备 |
CN115408164A (zh) * | 2022-11-01 | 2022-11-29 | 南京翼辉爱智物联技术有限公司 | 应用程序管理方法、装置、电子设备及存储介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10631246B2 (en) * | 2011-02-14 | 2020-04-21 | Microsoft Technology Licensing, Llc | Task switching on mobile devices |
CN102521034B (zh) * | 2011-12-27 | 2014-05-07 | 惠州Tcl移动通信有限公司 | 一种基于android系统的多任务管理方法及其系统 |
CN104252389B (zh) * | 2013-06-27 | 2016-04-13 | 腾讯科技(深圳)有限公司 | 应用程序运行方法、系统 |
CN104375828B (zh) * | 2014-10-27 | 2018-07-27 | 小米科技有限责任公司 | 内存优化方法及装置 |
CN104407981B (zh) * | 2014-10-28 | 2018-03-20 | 小米科技有限责任公司 | 内存管理方法和装置 |
CN104461745A (zh) * | 2014-12-23 | 2015-03-25 | 中科创达软件股份有限公司 | 一种内存优化方法及装置 |
CN104793885B (zh) * | 2015-04-23 | 2017-04-05 | 努比亚技术有限公司 | 一种移动终端及其内存清理控制方法 |
CN104850345A (zh) * | 2015-04-29 | 2015-08-19 | 努比亚技术有限公司 | 一种移动终端及其任务快速切换方法 |
CN105677259A (zh) * | 2016-02-29 | 2016-06-15 | 珠海市魅族科技有限公司 | 一种移动终端中存储文件的方法及移动终端 |
CN105808447B (zh) * | 2016-03-29 | 2019-01-29 | 海信集团有限公司 | 一种终端设备的内存回收方法和装置 |
CN106201572A (zh) * | 2016-06-23 | 2016-12-07 | 努比亚技术有限公司 | 移动终端和内存释放控制方法 |
CN106354562B (zh) * | 2016-08-25 | 2024-04-12 | 深圳市泰衡诺科技有限公司 | 内存清理系统和内存清理方法 |
CN106775820A (zh) * | 2016-11-10 | 2017-05-31 | 宇龙计算机通信科技(深圳)有限公司 | 应用程序管理的方法及装置 |
CN106803860B (zh) * | 2017-01-23 | 2020-12-29 | 努比亚技术有限公司 | 一种终端应用的存储处理方法和装置 |
CN106648811A (zh) * | 2017-01-23 | 2017-05-10 | 努比亚技术有限公司 | 一种终端应用启动的方法和终端 |
-
2017
- 2017-08-11 WO PCT/CN2017/097268 patent/WO2019028912A1/zh active Application Filing
- 2017-08-11 CN CN201780067389.3A patent/CN109891390B/zh active Active
- 2017-08-11 CN CN202111211373.XA patent/CN114153570A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023245366A1 (zh) * | 2022-06-20 | 2023-12-28 | 北京小米移动软件有限公司 | 应用管理方法、装置、电子设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109891390A (zh) | 2019-06-14 |
WO2019028912A1 (zh) | 2019-02-14 |
CN109891390B (zh) | 2021-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109891390B (zh) | 一种应用切换方法及装置 | |
CN114449091B (zh) | 一种显示方法及装置 | |
CN107852527B (zh) | 控制视频的共享的方法以及适配该方法的电子设备 | |
US20170371678A1 (en) | Method and apparatus for running game client | |
CN114168092B (zh) | 一种显示方法及装置 | |
EP3531290A1 (en) | Data backup method, apparatus, electronic device, storage medium, and system | |
CN109074303B (zh) | 一种卡顿检测方法及装置 | |
CN108684206B (zh) | 一种搜索方法及装置 | |
US11409567B2 (en) | Application management method and terminal | |
WO2014166307A1 (en) | Method for determining performance of process of application and computer system | |
CN110837343B (zh) | 处理快照的方法、装置及终端 | |
CN111083285A (zh) | 一种移动终端通话定位系统和方法 | |
CN111966271B (zh) | 屏幕全景截图方法、装置、终端设备和存储介质 | |
US11985374B2 (en) | Method of controlling the sharing of videos and electronic device adapted thereto | |
CN117406950A (zh) | 一种音频播放控制方法、装置、电子设备和存储介质 | |
CN112764609A (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 |