CN112114965A - 应用程序的运行方法、装置、终端及存储介质 - Google Patents

应用程序的运行方法、装置、终端及存储介质 Download PDF

Info

Publication number
CN112114965A
CN112114965A CN202010964747.4A CN202010964747A CN112114965A CN 112114965 A CN112114965 A CN 112114965A CN 202010964747 A CN202010964747 A CN 202010964747A CN 112114965 A CN112114965 A CN 112114965A
Authority
CN
China
Prior art keywords
memory
application program
running state
state
running
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
Application number
CN202010964747.4A
Other languages
English (en)
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
Shenzhen Huantai Technology Co Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Shenzhen Huantai Technology Co 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, Shenzhen Huantai Technology Co Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202010964747.4A priority Critical patent/CN112114965A/zh
Publication of CN112114965A publication Critical patent/CN112114965A/zh
Pending legal-status Critical Current

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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/482Application

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

Abstract

本申请属于终端技术领域,具体而言,涉及一种应用程序的运行方法、装置、终端及存储介质。其中,一种应用程序的运行方法,包括:接收切换第一应用程序的运行状态的指令;响应于所述指令,将所述第一应用程序的运行状态从第一运行状态切换为第二运行状态,其中,所述第一应用程序以所述第一运行状态运行时所占的内存不等于所述第一应用程序以所述第二运行状态运行时所占的内存;所述第一应用程序以所述第一运行状态运行时所占的内存与所述第一应用程序以所述第二运行状态运行时所占的内存均不为零。第一应用程序处于不同的运行状态时,终端可以为第一应用程序的运行配置相应的内存,可以减少内存资源的浪费,提高内存资源的利用率。

Description

应用程序的运行方法、装置、终端及存储介质
技术领域
本申请属于终端技术领域,具体而言,涉及一种应用程序的运行方法、装置、终端及存储介质。
背景技术
随着科学技术的发展,终端支持的功能越来越多,也越来越方便用户的使用。为了提高用户的使用体验,终端可以将某一应用程序设置为常驻应用程序。当终端接收到该应用程序的启动指令时,终端可以将该应用程序的内存设置为常驻内存,可以减少该应用程序的下一次启动时长。但该应用程序为常驻应用程序时,使得内存资源的利用率较低。
发明内容
本申请实施例提供一种应用程序的运行方法、装置、终端及存储介质,可以提高内存资源的利用率。本技术方案包括:
第一方面,本申请实施例提供一种应用程序的运行方法,所述方法包括:
接收切换第一应用程序的运行状态的指令;
响应于所述指令,将所述第一应用程序的运行状态从第一运行状态切换为第二运行状态,其中,所述第一应用程序以所述第一运行状态运行时所占的内存不等于所述第一应用程序以所述第二运行状态运行时所占的内存;所述第一应用程序以所述第一运行状态运行时所占的内存与所述第一应用程序以所述第二运行状态运行时所占的内存均不为零。
第二方面,本申请实施例提供一种应用程序的运行装置,所述装置包括:
指令接收单元,用于接收切换第一应用程序的运行状态的指令;
状态切换单元,用于响应于所述指令,将所述第一应用程序的运行状态从第一运行状态切换为第二运行状态,其中,所述第一应用程序以所述第一运行状态运行时所占的内存不等于所述第一应用程序以所述第二运行状态运行时所占的内存;所述第一应用程序以所述第一运行状态运行时所占的内存与所述第一应用程序以所述第二运行状态运行时所占的内存均不为零。
第三方面,本申请实施例提供一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一项所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,其中,上述计算机程序产品包括存储计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
本申请实施例提供一种应用程序的运行方法,可以响应于接收到的切换第一应用程序的运行状态的指令,可以将第一应用程序的运行状态从第一运行状态切换为第二运行状态,由于第一应用程序以第一运行状态运行时所占的内存不等于第一应用程序以第二运行状态运行时所占的内存,因此第一应用程序处于不同的运行状态时,终端可以为第一应用程序的运行配置相应的内存,可以减少内存资源的浪费,提高内存资源的利用率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了申请一个示例性实施例提供的终端的结构示意图;
图2示出本申请实施例的一种应用程序的运行方法的流程示意图;
图3示出本申请实施例的一种终端界面的举例示意图;
图4示出本申请实施例的一种终端界面的举例示意图;
图5示出本申请实施例的一种应用程序的运行方法的流程示意图;
图6示出本申请实施例的一种应用程序的运行方法的流程示意图;
图7示出本申请实施例的一种终端界面的举例示意图;
图8示出本申请实施例的一种应用程序的运行方法的流程示意图;
图9示出本申请实施例的一种应用程序的运行方法的流程示意图;
图10示出本申请实施例的一种应用程序的运行方法的流程示意图;
图11示出本申请实施例的一种应用程序的运行方法的流程示意图;
图12示出本申请实施例的一种应用程序的运行装置的结构示意图;
图13示出本申请实施例的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅为本申请实施例的一部分,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着科学技术的发展,终端支持的功能越来越多,也越来越方便用户的使用。终端中应用程序的启动时长成为用户关注的重点。因此为了提高用户的使用体验,终端可以将某一应用程序设置为常驻应用程序。当终端接收到该应用程序的启动指令时,终端可以将该应用程序的内存设置为常驻内存,可以减少该应用程序的启动时长。终端采用将应用程序设置为常驻应用程序时,该应用程序的运行状态为后台运行状态时,该应用程序不能被杀死,即该应用程序一直占用该应用程序的运行状态为前台运行状态时所占的内存,出现内存资源浪费的情况,内存资源利用率较低。另外,该应用程序一直占用该内存时,当终端运行其他应用程序时,由于终端中没有足够的空闲内存时,造成其他应用程序不可以用,出现应用程序内存泄漏,内存资源浪费的情况。
根据一些实施例,当终端运行应用程序时,可以将应用程序和其他的常驻应用进行耦合,其他常驻应用程序包括但不限于桌面。当终端将应用程序和常驻应用耦合之后,该应用程序可以是其他常驻应用程序的插件,即当其他常用应用程序为常驻应用时,该应用程序也为常驻应用,可以减少该应用程序的启动时长。但当该应用程序的运行状态为后台运行状态时,该应用程序一直占用该应用程序的运行状态为前台运行状态时所占的内存,出现内存资源浪费的情况,内存资源利用率较低。另外,当应用程序和其他常驻应用程序耦合时,应用程序的更新迭代版本会相互依赖,出现应用程序版本升级困难的问题。
易于理解的是,终端该可以采用应用保活策略保活应用程序的整体应用界面,可以减少该应用程序的启动时长,即当该应用程序的运行状态为后台运行状态时,该应用程序的前台运行状态所占的内存和后台运行状态所占的内存一样。由于应用程序的整体应用界面所占的内存占用比较大,当该应用程序的运行状态为后台运行状态时,该应用程序一直占用该应用程序的运行状态为前台运行状态时所占的内存,应用程序的整体应用界面所占的内存并不会释放,出现内存资源浪费的情况,内存资源利用率较低。本申请实施例提供一种应用程序的运行方法,可以提高内存资源的利用率。
请参考图1,其示出了本申请一个示例性实施例提供的终端的结构示意图。本申请中的终端可以包括一个或多个如下部件:处理器110、存储器120、输入装置130、输出装置140和总线150。处理器110、存储器120、输入装置130和输出装置140之间可以通过总线150连接。
处理器110可以包括一个或者多个处理核心。处理器110利用各种接口和线路连接整个终端内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行终端100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(digital signal processing,DSP)、现场可编程门阵列(field-programmable gate array,FPGA)、可编程逻辑阵列(programmable logicArray,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(centralprocessing unit,CPU)、图像处理器(graphics processing unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作***、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器120可分为操作***空间和用户空间,操作***即运行于操作***空间,原生及第三方应用程序即运行于用户空间。为了保证不同第三方应用程序均能够达到较好的运行效果,操作***针对不同第三方应用程序为其分配相应的***资源。然而,同一第三方应用程序中不同应用场景对***资源的需求也存在差异,比如,在本地资源加载场景下,第三方应用程序对磁盘读取速度的要求较高;在动画渲染场景下,第三方应用程序则对GPU性能的要求较高。而操作***与第三方应用程序之间相互独立,操作***往往不能及时感知第三方应用程序当前的应用场景,导致操作***无法根据第三方应用程序的具体应用场景进行针对性的***资源适配。
其中,输入装置130用于接收输入的指令或数据,输入装置130包括但不限于键盘、鼠标、摄像头、麦克风或触控设备。输出装置140用于输出指令或数据,输出装置140包括但不限于显示设备和扬声器等。在一个示例中,输入装置130和输出装置140可以合设,输入装置130和输出装置140为触摸显示屏,该触摸显示屏用于接收用户使用手指、触摸笔等任何适合的物体在其上或附近的触摸操作,以及显示各个应用程序的用户界面。触摸显示屏通常设置在终端的前面板。触摸显示屏可被设计成为全面屏、曲面屏或异型屏。触摸显示屏还可被设计成为全面屏与曲面屏的结合,异型屏与曲面屏的结合,本申请实施例对此不加以限定。
除此之外,本领域技术人员可以理解,上述附图所示出的终端的结构并不构成对终端的限定,终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,终端中还包括射频电路、输入单元、传感器、音频电路、无线保真(wirelessfidelity,WiFi)模块、电源、蓝牙模块等部件,在此不再赘述。
在本申请实施例中,各步骤的执行主体可以是上文介绍的终端。可选地,各步骤的执行主体为终端的操作***。操作***可以是安卓***,也可以是IOS***,或者其它操作***,本申请实施例对此不作限定。
本申请实施例的终端,其上还可以安装有显示设备,显示设备可以是各种能实现显示功能的设备,例如:阴极射线管显示器(cathode ray tubedisplay,简称CR)、发光二极管显示器(light-emitting diode display,简称LED)、电子墨水屏、液晶显示屏(liquidcrystal display,简称LCD)、等离子显示面板(plasma display panel,简称PDP)等。用户可以利用终端101上的显示设备,来查看显示的文字、图像、视频等信息。所述终端可以是智能手机、平板电脑、游戏设备、AR(Augmented Reality,增强现实)设备、汽车、数据存储装置、音频播放装置、视频播放装置、笔记本、桌面计算设备、可穿戴设备诸如电子手表、电子眼镜、电子头盔、电子手链、电子项链、电子衣物等设备。
在图1所示的终端中,处理器110可以用于调用存储器120中存储的应用程序,并具体执行本申请实施例的应用程序的运行方法。
当终端接收到切换第一应用程序的运行状态的指令时,可以响应于该指令,将第一应用程序的运行状态从第一运行状态切换为第二运行状态,其中,第一应用程序以第一运行状态运行时所占的内存不等于第一应用程序以第二运行状态运行时所占的内存;第一应用程序以第一运行状态运行时所占的内存与第一应用程序以第二运行状态运行时所占的内存均不为零,可以减少应用程序运行时所占的内存,提高内存资源的利用率。
在下述方法实施例中,为了便于说明,仅以各步骤的执行主体为终端进行介绍说明。
下面将结合附图2-附图10,对本申请实施例提供的应用程序的运行方法进行详细介绍。附图2-附图10所示实施例的执行主体例如可以为终端。
请参见图2,为本申请实施例提供了一种应用程序的运行方法的流程示意图。如图2所示,本申请实施例的所述方法可以包括以下步骤S101-步骤S102。
S101,接收切换第一应用程序的运行状态的指令。
根据一些实施例,第一应用程序是指终端中安装的任一应用程序,并不特指某一固定应用程序。图3示出本申请实施例的一种终端界面的举例示意图。例如,终端中安装的应用程序包括微信应用程序、QQ应用程序、视频应用程序、音频应用程序、图册应用程序、美图应用程序时,第一应用程序可以是微信应用程序,第一应用程序例如还可以是QQ应用程序。
易于理解的是,运行状态是指第一应用程序的运行状态,该运行状态包括但不限于前台运行状态、后台运行状态和第三运行状态等。
前台运行状态是指终端将第一应用程序的运行界面显示在显示屏上的状态,当第一应用程序处于前台运行状态时,用户可以在终端显示屏上看到第一应用程序的运行界面。后台运行状态是指终端不在显示屏上显示第一应用程序的运行界面,用户无法对第一应用程序的运行界面进行交互的状态,但第一应用程序处于后台运行状态时仍占用终端的***资源。
根据一些实施例,当终端运行第一应用程序时,终端可以接收切换第一应用程序的运行状态的指令,即终端可以接收针对第一应用程序的切换指令。该指令包括但不限于语音指令、文字指令、点击指令等等。该指令例如还可以是终端接收用户经其他终端发送的切换第一应用程序的运行状态的指令。例如可以是终端接收用户经智能穿戴设备发送的切换第一应用程序的运行状态的语音指令。智能穿戴设备包括但不选于智能手表、智能手环等等。
可选的,终端接收到的切换第一应用程序的运行状态的指令例如可以是语音指令。终端可以直接接收用户输入语音指令。终端还可以基于用户的点击语语音控件接收用户输入的语音指令。图4示出本申请实施例的一种终端界面的举例示意图。如图4所示,当终端检测到用户点击语音采集控件时,终端可以开始采集语音。当终端检测到用户再次点击该语音采集控件时,终端可以停止采集语音,此时终端可以接收到的切换第一应用程序的运行状态的语音指令。
根据一些实施例,切换第一应用程序的运行状态的指令是指改变第一应用程序的运行状态的指令,并不特指某一固定状态切换至另一固定状态的指令。例如该切换第一应用程序的运行状态的指令可以是第一应用程序的运行状态从前台运行状态切换至后台运行状态的指令,也可以是第一应用程序的运行状态从后台运行状态切换至前台运行状态的指令。
S102,响应于指令,将第一应用程序的运行状态从第一运行状态切换为第二运行状态,其中,第一应用程序以第一运行状态运行时所占的内存不等于第一应用程序以第二运行状态运行时所占的内存;第一应用程序以第一运行状态运行时所占的内存与第一应用程序以第二运行状态运行时所占的内存均不为零。
根据一些实施例,第一运行状态是指第一应用程序切换运行状态之前的运行状态,并不特指某一固定运行状态。例如第一运行状态可以是前台运行状态,第一运行状态还可以是后台运行状态。第二运行状态是指第一应用程序切换运行状态之后的运行状态,并不特指某一固定运行状态。例如第二运行状态可以是前台运行状态,第二运行状态还可以是后台运行状态。但第二运行状态和第一运行状态不可以同时为同一运行状态,即第一运行状态为前台运行状态时,第二运行状态不可以是前台运行状态,第二运行状态可以是后台运行状态,还可以是其他运行状态。
易于理解的是,第一应用程序以第一运行状态运行时所占的内存与第一应用程序以第二运行状态运行时所占的内存均不为零是指第一应用程序的运行状态不会是完全退出的状态,即第一应用程序不处于完全退出状态,且第一应用程序会占用终端的运行内存。第一应用程序以第一运行状态运行时所占的内存不等于第一应用程序以第二运行状态运行时所占的内存。例如可以是第一应用程序以前台运行状态运行时所占的内存不等于第一应用程序以后台运行状态运行时所占的内存。具体可以是,第一应用程序以前台运行状态运行时所占的内存大于第一应用程序以后台运行状态运行时所占的内存。
根据一些实施例,当终端接收切换第一应用程序的运行状态的指令时,终端可以基于该指令获取到第一应用程序切换后的运行状态。响应于该切换第一应用程序的运行状态的指令,终端可以将第一应用程序的运行状态从第一运行状态切换为第二运行状态。由于第一应用程序以第一运行状态运行时所占的内存不等于第一应用程序以第二运行状态运行时所占的内存,可以改变第一应用程序处于不用运行状态时所占的内存,可以合理使用内存资源,提高内存资源的利用率。
易于理解的是,当终端基于用户输入的第一应用程序的开启指令时,终端可以打开该第一应用程序,并在显示屏上显示该第一应用程序对应的应用界面,此时第一应用程序处于前台运行状态。后台运行状态是指第一应用程序的应用界面并未显示在显示屏上,处于后台运行的状态,此时第一应用程序也不处于退出状态。此时,例如终端接收到的该切换第一应用程序的运行状态的指令为语音切换指令,该语音切换指令例如为“将第一应用程序的运行状态切换至后台运行状态”。终端可以将第一应用程序的运行状态从前台运行状态切换至后台运行状态。其中,第一应用程序以前台运行状态运行时所占的内存大于第一应用程序以后台运行状态运行时所占的内存,可以减少第一应用程序以后台应用状态运行时所占的内存,提高内存的利用率。
本申请实施例提供一种应用程序的运行方法,可以响应于接收到的切换第一应用程序的运行状态的指令,可以将第一应用程序的运行状态从第一运行状态切换为第二运行状态,由于第一应用程序以第一运行状态运行时所占的内存不等于第一应用程序以第二运行状态运行时所占的内存,因此第一应用程序处于不同的运行状态时,终端可以为第一应用程序的运行配置相应的内存,可以减少内存资源的浪费,提高内存资源的利用率。另外,由于第一应用程序以第一运行状态运行时所占的内存与第一应用程序以第二运行状态运行时所占的内存均不为零,因此相对于从零内存加载至应用程序启动后内存的加载时长,可以减少应用程序启动时内存的加载时长,可以减少应用程序的启动时长,可以提高用户的使用体验。其次,第一应用程序不需要和常驻内存进行耦合,减少内存泄漏的情况,且第一应用程序的升级较为方便,提高提高用户的使用体验。
请参见图5,为本申请实施例提供了一种应用程序的运行方法的流程示意图。如图5所示,本申请实施例的所述方法可以包括以下步骤S201-步骤S202。
S201,接收切换第一应用程序的运行状态的指令。
具体过程如上所述,此处不再赘述。
根据一些实施例,切换第一应用程序的运行状态的指令包括但不限于将第一应用程序的运行状态从前台运行状态切换为后台运行状态的指令、将第一应用程序的运行状态从后台运行状态切换为前台运行状态的指令等等。
根据一些实施例,请参见图6,为本申请实施例提供了一种应用程序的运行方法的流程示意图。如图6所示,本申请实施例的所述方法在接收切换第一应用程序的运行状态的指令之前还可以包括以下步骤S301-步骤S302。S301,接收针对第一应用程序的启动指令;S302,响应于启动指令,将第一应用程序的运行状态从第三运行状态切换为前台运行状态时,按照预设步骤加载第一内存,其中,第三运行状态为第一应用程序的退出状态。
根据一些实施例,当终端接收到切换第一应用程序的运行状态的指令之前,终端可以接收针对第一应用程序的启动指令。该启动指令包括但不限于点击启动指令、语音启动指令、文字启动指令等等。终端接收到的第一应用程序的启动指令例如可以是语音启动指令。第一应用程序例如可以是微信应用程序。终端接收到的语音启动指令例如可以是“启动微信应用程序”。图7示出本申请实施例的一种终端界面的举例示意图。如图7所示,终端接收到的第一应用程序的启动指令例如可以是点击启动指令。
根据一些实施例,第三运行状态为第一应用程序的退出状态,该退出状态可以是第一应用程序的完全退出状态,也可以是第一应用程序的不完全退出状态。不完全退出状态可以是指第一应用程序仍占用终端的部分内存,但该内存小于第一应用程序以后台运行状态运行时所占的内存。第一内存是指第一应用程序以前台运行状态运行时所占的内存。
易于理解的是,当终端接收到针对第一应用程序的启动指令时,终端可以响应于该启动指令,将第一应用程序的运行状态从第三运行状态切换为前台运行状态。当终端将第一应用程序的运行状态从第三运行状态切换为前台运行状态时,终端可以按照预设步骤加载第一内存。其中第三运行状态是第一应用程序的完全退出状态时,第三运行状态对应的内存为零。
可选的,应用程序的启动步骤包括但不限于创建空的进程对象、加载应用程序窗口、渲染应用程序对应的运行界面等。微信应用程序的启动步骤例如可以包括创建空的进程对象、加载微信应用程序窗口、渲染微信应用程序对应的运行界面。当终端接收到微信应用程序的启动指令,将微信应用程序的运行状态从第三运行状态切换为前台运行状态时,终端可以加载微信应用程序以前台运行状态运行时所占的第一内存时,可以先加载创建空的进程对象对应的内存,然后加载微信应用程序窗口对应的内存,最后渲染微信应用程序对应的运行界面对应的内存。
S202,响应于指令,将第一应用程序的运行状态从前台运行状态切换为后台运行状态时,释放第一内存与第二内存之间的第一差值内存,保留第二内存,其中,第一内存为第一应用程序以前台运行状态运行时所占的内存,第二内存为第一应用程序以后台运行状态运行时所占的内存,第一内存大于第二内存。
根据一些实施例,第一运行状态为前台运行状态,第二运行状态为后台运行状态。前台运行状态是指终端将第一应用程序的运行界面显示在显示屏上的状态,当第一应用程序处于前台运行状态时,用户可以在终端显示屏上看到第一应用程序的运行界面。后台运行状态是指终端不在显示屏上显示第一应用程序的运行界面,用户无法对第一应用程序的运行界面进行交互的状态,但第一应用程序处于后台运行状态时仍占用终端的***资源。
根据一些实施例,第一内存是指第一应用程序以前台运行状态运行时所占的内存,并不特指某一固定内存。例如第一应用程序发生变化时,第一内存也发生相应变化。例如当第一应用程序为微信应用程序时,第一内存可以是A1内存。当第一应用程序为QQ应用程序时,第一内存为B1内存。
易于理解的是,第二内存是指第一应用程序以后台运行状态运行时所占的内存,并不特指某一固定内存。例如第一应用程序发生变化时,第二内存也发生相应变化。例如当第一应用程序为微信应用程序时,第二内存可以是A2内存。当第一应用程序为QQ应用程序时,第二内存为B2内存。
根据一些实施例,本实施例中的第一内存大于第二内存,即第一应用程序以前台运行状态运行时所占的内存大于第一应用程序以后台运行状态运行时所占的内存。第一差值内存是指第一内存和第二内存之间的差值内存,并不特指某一固定差值内存。当第一内存和第二内存发生变化时,第一差值内存也发生相应变化。
可选的,本申请实施例的终端接收到切换第一应用程序的运行状态的指令例如可以是将第一应用程序的运行状态从前台运行状态切换为后台运行状态的指令。终端响应于该指令,将第一应用程序的运行状态从前台运行状态切换为后台运行状态时,终端可以释放第一内存与第二内存之间的第一差值内存,保留第二内存。因此终端将第一应用程序的运行状态从前台运行状态切换为后台运行状态,可以减少内存资源的浪费,提高内存资源的利用率。
易于理解的是,例如当第一应用程序为微信应用程序时,第一内存可以是A1内存,该第一内存例如可以是创建空的进程对象、加载微信应用程序窗口和渲染微信应用程序对应的运行界面对应的内存,第二内存可以是A2内存,该第一内存例如可以是创建空的进程对象和加载微信应用程序窗口对应的内存,第一差值内存例如可以是A3内存,该第三内存例如可以是渲染微信应用程序对应的运行界面对应的内存。终端响应于切换微信应用程序的运行状态的指令时,将第一差值内存应用程序的运行状态从前台运行状态切换为后台运行状态时,终端可以释放第一内存与第二内存之间的第一差值内存A3内存,保留第二内存A2内存。
根据一些实施例,请参见图8,为本申请实施例提供了一种应用程序的运行方法的流程示意图。如图8所示,本申请实施例的所述方法在响应于指令,将第一应用程序的运行状态从前台运行状态切换为后台运行状态时,释放第一内存与第二内存之间的第一差值内存,保留第二内存之后还可以包括以下步骤S401-步骤S402。S401,在预设时长内,未接收到针对第一应用程序的唤醒指令时,释放第二内存;S402,重启第一应用程序,加载第三内存,其中,第三内存为第一应用程序以第四运行状态运行时所占的内存,第三内存小于第二内存。
根据一些实施例,终端响应于指令,将第一应用程序的运行状态从前台运行状态切换为后台运行状态时,释放第一内存与第二内存之间的第一差值内存,保留第二内存之后,终端还可以检测预设时长内是否接收到针对第一应用程序的唤醒指令。其中,唤醒指令包括但不限于语音唤醒指令、文字唤醒指令、点击唤醒指令等等。当终端在在预设时长内,未接收到针对第一应用程序的唤醒指令时,终端可以释放第二内存。当终端释放第二内存之后,终端可以重启第一应用程序,加载第三内存,其中,第三内存为第一应用程序以第四运行状态运行时所占的内存,第三内存小于第二内存。因此可以减少第一应用程序长时间处于后台运行状态时所占的内存,可以减少内存资源的浪费,提高内存资源的利用率。
易于理解的是,第四运行状态可以是第一应用程序的运行状态的一种,但是第一应用程序以第四运行状态运行时所占的第三内存小于第一应用程序以后台运行状态运行时所占的第二内存。
可选的,预设时长例如可以是24小时。当终端在24小时内,未接收到针对微信应用程序的唤醒指令时,终端可以释放第二内存A2。当终端释放第二内存之后,终端可以重启微信应用程序,加载第三内存A4,其中,第三内存A4小于第二内存A2。第三内存例如可以是终端创建微信应用程序对应的空的进程对象对应的内存,第二内存例如可以是加载创建微信应用程序对应的空的进程对象对应的内存和微信应用程序窗口对应的内存的总和。
根据一些实施例,请参见图9,为本申请实施例提供了一种应用程序的运行方法的流程示意图。如图9所示,本申请实施例的所述方法在响应于指令,将第一应用程序的运行状态从前台运行状态切换为后台运行状态时,释放第一内存与第二内存之间的第一差值内存,保留第二内存之后还可以包括以下步骤S501-步骤S502。S501,接收针对运行状态为后台运行状态的各应用程序的退出指令;S502,响应于退出指令,在第一应用程序属于预设类型的应用程序时,将第一应用程序的运行状态从后台运行状态切换为第四运行状态,释放第二内存和第三内存之间的第二差值内存,保留第三内存,其中,第三内存为第一应用程序以第四运行状态运行时所占的内存,第三内存小于第二内存。
根据一些实施例,终端响应于指令,将第一应用程序的运行状态从前台运行状态切换为后台运行状态时,释放第一内存与第二内存之间的第一差值内存,保留第二内存之后,终端可以接收针对运行状态为后台运行状态的各应用程序的退出指令。运行状态为后台运行状态的各应用程序的退出指令可以是运行状态为后台运行状态的各应用程序的一键查杀指令。该指令包括但不限于语音退出指令、文字退出指令、点击退出指令等等。当终端接收到该退出指令时,终端可以检测第一应用程序是否属于预设类型的应用程序。
可选的,预设类型的应用程序是指终端无法完全释放应用程序的内存的应用程序。预设类型的应用程序的设置可以是终端基于预设的应用程序设置指令设置的,还可以是终端出厂时设定的,还可以是基于应用程序的安装信息设定的。例如当用户需要某些应用程序为常驻应用程序时,用户可以将该应用程序设置为预设类型的应用程序。当该应用程序属于预设类型的应用程序,且该应用程序的运行状态为后台运行状态,终端接收针对运行状态为后台运行状态的各应用程序的退出指令时,该应用程序不会处于完全退出状态,该应用程序可以处于第四应用状态。
易于理解的是,终端接收到该退出指令时,终端响应于该退出指令,在第一应用程序属于预设类型的应用程序时,终端可以将第一应用程序的运行状态从后台运行状态切换为第四运行状态,释放第二内存和第三内存之间的第二差值内存,保留第三内存,可以减少第一应用程序所占的内存,提高内存资源的利用率。其中,第三内存为第一应用程序以第四运行状态运行时所占的内存,第三内存小于第二内存。
根据一些实施例,本实施例中的第二内存大于第三内存,即第一应用程序以后台运行状态运行时所占的内存大于第一应用程序以第四运行状态运行时所占的内存。第二差值内存是指第二内存和第三内存之间的差值内存,并不特指某一固定差值内存。当第二内存和第三内存发生变化时,第二差值内存也发生相应变化。
可选的,例如当第一应用程序为微信应用程序时,第二内存可以是A2内存,第三内存可以是A4内存,第一差值内存例如可以是A5内存。当终端接收针到对运行状态为后台运行状态的各应用程序的退出指令,终端响应于退出指令,在微信应用程序属于预设类型的应用程序时,将微信应用程序的运行状态从后台运行状态切换为第四运行状态,释放第二内存和第三内存之间的第二差值内存A5,保留第三内存A4。
根据一些实施例,请参见图10,为本申请实施例提供了一种应用程序的运行方法的流程示意图。如图10所示,本申请实施例的所述方法在响应于指令,将第一应用程序的运行状态从前台运行状态切换为后台运行状态时,释放第一内存与第二内存之间的第一差值内存,保留第二内存之后还可以包括以下步骤S601-步骤S602。S501,接收针对第二应用程序的启动指令;S502,基于启动指令,检测到终端中空闲内存小于第五内存时,释放第二内存,其中,第五内存为第二应用程序以前台运行状态运行时所占的内存。
根据一些实施例,终端响应于指令,将第一应用程序的运行状态从前台运行状态切换为后台运行状态时,释放第一内存与第二内存之间的第一差值内存,保留第二内存之后,终端可以接收针对第二应用程序的启动指令。第二应用程序是指终端安装的应用程序,并不特指某一固定应用程序。第二应用程序的启动指令包括但不限于语音启动指令、文字启动指令、点击启动指令等等。
易于理解的是,当终端接收到该启动指令时,终端可以基于启动指令,检测到终端中空闲内存是否小于第五内存,当终端检测到终端中空闲内存小于第五内存时,终端可以释放第一应用程序以后台运行状态运行时所占的第二内存。其中,第五内存为第二应用程序以前台运行状态运行时所占的内存。因此可以减少应用程序内存泄漏的情况,可以减少内存资源的浪费,进而可以提高内存资源的利用率。
可选的,终端接收到针对QQ应用程序的启动指令时,终端获取到QQ应用程序以前台运行状态运行时所占的第五内存为20M。终端获取到终端中闲内存为5M时,终端检测到终端中空闲内存5M小于第五内存20M时,终端可以释放微信应用程序以后台运行状态运行时所占的第二内存。该第二内存例如可以是70M。
本申请实施例提供一种应用程序的运行方法,在接收到切换第一应用程序的运行状态的指令时,可以将第一应用程序的运行状态从前台运行状态切换为后台运行状态时,释放第一内存与第二内存之间的第一差值内存,保留第二内存,由于第一内存为第一应用程序以前台运行状态运行时所占的内存,第二内存为第一应用程序以后台运行状态运行时所占的内存,第一内存大于第二内存,因此第一应用程序以后台运行状态运行时不需要加载至第一内存,可以减少第一应用程序以后台运行状态运行时所占的内存,减少内存资源的浪费,提高内存资源的利用率。
请参见图11,为本申请实施例提供了一种应用程序的运行方法的流程示意图。如图11所示,本申请实施例的所述方法可以包括以下步骤S601-步骤S602。
S601,接收切换第一应用程序的运行状态的指令。
具体过程如上所述,此处不再赘述。
S602,响应于指令,将第一应用程序的运行状态从后台运行状态切换为前台运行状态时,将第一应用程序所占的内存从第一内存加载至第二内存,其中,第一内存为第一应用程序以后台运行状态运行时所占的内存,第二内存为第一应用程序以前台运行状态运行时所占的内存,第一内存小于第二内存。
根据一些实施例,第一运行状态为后台运行状态,第二运行状态为前台运行状态。第一内存是指第一应用程序以后台运行状态运行时所占的内存,第二内存是指第一应用程序以前台运行状态运行时所占的内存。本实施例中的第一内存小于第二内存,即第一应用程序以后台运行状态运行时所占的内存小于第一应用程序以前台运行状态运行时所占的内存。
易于理解的是,终端接收到的切换第一应用程序运行状态的指令例如可以是将第一应用程序的运行状态从后台运行状态切换为前台运行状态。当终端接收到该指令时,终端可以将第一应用程序的运行状态从后台运行状态切换为前台运行状态。终端将第一应用程序的运行状态从后台运行状态切换为前台运行状态时,终端可以将第一应用程序所占的内存从第一内存加载至第二内存。
可选的,第一内存例如可以是70M,第二内存例如可以是300M。当终端接收到的切换微信应用程序运行状态的指令时,终端可以将微信应用程序的运行状态从后台运行状态切换为前台运行状态,此时,终端可以将微信应用程序所占的内存从第一内存70M加载至第二内存300M。
本申请实施例提供一种应用程序的运行方法,在接收到切换第一应用程序的运行状态的指令时,可以将第一应用程序的运行状态从后台运行状态切换为前台运行状态时,将第一应用程序所占的内存从第一内存加载至第二内存,由于第一内存为第一应用程序以后台运行状态运行时所占的内存,第二内存为第一应用程序以前台运行状态运行时所占的内存,第一内存小于第二内存,不需要将第一应用程序所占的内存从零加载至第二内存,可以减少内存加载时长,可以提高第一应用程序切换为前台运行状态的切换时长,提高用户的使用体验。
下面将结合附图12,对本申请实施例提供的应用程序的运行装置进行详细介绍。需要说明的是,附图12所示的应用程序的运行装置,用于执行本申请图2-图10所示实施例的方法,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请图2-图10所示的实施例。
请参见图12,其示出本申请实施例的应用程序的运行装置的结构示意图。该应用程序的运行装置1200可以通过软件、硬件或者两者的结合实现成为用户终端的全部或一部分。根据一些实施例,该应用程序的运行装置1200包括指令接收单元1201和状态切换单元1202,具体用于:
指令接收单元1201,用于接收切换第一应用程序的运行状态的指令;
状态切换单元1202,用于响应于指令,将第一应用程序的运行状态从第一运行状态切换为第二运行状态,其中,第一应用程序以第一运行状态运行时所占的内存不等于第一应用程序以第二运行状态运行时所占的内存;第一应用程序以第一运行状态运行时所占的内存与第一应用程序以第二运行状态运行时所占的内存均不为零。
根据一些实施例,第一运行状态为前台运行状态,第二运行状态为后台运行状态;
状态切换单元1202,用于响应于指令,将第一应用程序的运行状态从第一运行状态切换为第二运行状态时,具体用于:
响应于指令,将第一应用程序的运行状态从前台运行状态切换为后台运行状态时,释放第一内存与第二内存之间的第一差值内存,保留第二内存,其中,第一内存为第一应用程序以前台运行状态运行时所占的内存,第二内存为第一应用程序以后台运行状态运行时所占的内存,第一内存大于第二内存。
根据一些实施例,指令接收单元1201,用于接收切换第一应用程序的运行状态的指令之前,还具体用于:
接收针对第一应用程序的启动指令;
响应于启动指令,将第一应用程序的运行状态从第三运行状态切换为前台运行状态时,按照预设步骤加载第一内存,其中,第三运行状态为第一应用程序的退出状态。
根据一些实施例,状态切换单元1202,用于将第一应用程序的运行状态从前台运行状态切换为后台运行状态时,释放第一内存与第二内存之间的第一差值内存,保留第二内存之后,还具体用于:
在预设时长内,未接收到针对第一应用程序的唤醒指令时,释放第二内存;
重启第一应用程序,加载第三内存,其中,第三内存为第一应用程序以第四运行状态运行时所占的内存,第三内存小于第二内存。
根据一些实施例,状态切换单元1202,用于响应于指令,将第一应用程序的运行状态从前台运行状态切换为后台运行状态时,释放第一内存与第二内存之间的第一差值内存,保留第二内存之后,还具体用于:
接收针对运行状态为后台运行状态的各应用程序的退出指令;
响应于退出指令,在第一应用程序属于预设类型的应用程序时,将第一应用程序的运行状态从后台运行状态切换为第四运行状态,释放第二内存和第三内存之间的第二差值内存,保留第三内存,其中,第三内存为第一应用程序以第四运行状态运行时所占的内存,第三内存小于第二内存。
根据一些实施例,状态切换单元1202,用于响应于指令,将第一应用程序的运行状态从前台运行状态切换为后台运行状态时,释放第一内存与第二内存之间的第一差值内存,保留第二内存之后,还包括:
接收针对第二应用程序的启动指令;
基于启动指令,检测到终端中空闲内存小于第五内存时,释放第二内存,其中,第五内存为第二应用程序以前台运行状态运行时所占的内存。
根据一些实施例,第一运行状态为后台运行状态,第二运行状态为前台运行状态;
状态切换单元1202,用于响应于指令,将第一应用程序的运行状态从第一运行状态切换为第二运行状态时,具体用于:
响应于指令,将第一应用程序的运行状态从后台运行状态切换为前台运行状态时,将第一应用程序所占的内存从第一内存加载至第二内存,其中,第一内存为第一应用程序以后台运行状态运行时所占的内存,第二内存为第一应用程序以前台运行状态运行时所占的内存,第一内存小于第二内存。
本申请实施例提供一种应用程序的运行装置,指令接收单元接收切换第一应用程序的运行状态的指令,状态切换单元响应于指令,将第一应用程序的运行状态从第一运行状态切换为第二运行状态,其中,第一应用程序以第一运行状态运行时所占的内存不等于第一应用程序以第二运行状态运行时所占的内存;第一应用程序以第一运行状态运行时所占的内存与第一应用程序以第二运行状态运行时所占的内存均不为零。由于第一应用程序以第一运行状态运行时所占的内存不等于第一应用程序以第二运行状态运行时所占的内存,因此第一应用程序处于不同的运行状态时,终端可以为第一应用程序的运行配置相应的内存,可以减少内存资源的浪费,提高内存资源的利用率。
请参见图13,为本申请实施例提供的一种终端的结构示意图。如图13所示,所述终端1300可以包括:至少一个处理器1301,至少一个网络接口1304,用户接口1303,存储器1305,至少一个通信总线1302。
其中,通信总线1302用于实现这些组件之间的连接通信。
其中,用户接口1303可以包括显示屏(Display)和GPS,可选用户接口1303还可以包括标准的有线接口、无线接口。
其中,网络接口1304可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,处理器1301可以包括一个或者多个处理核心。处理器1301利用各种借口和线路连接整个终端1300内的各个部分,通过运行或执行存储在存储器1305内的指令、程序、代码集或指令集,以及调用存储在存储器1305内的数据,执行终端1300的各种功能和处理数据。可选的,处理器1301可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1301可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作***、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1301中,单独通过一块芯片进行实现。
其中,存储器1305可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器1305包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器1305可用于存储指令、程序、代码、代码集或指令集。存储器1305可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作***的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器1305可选的还可以是至少一个位于远离前述处理器1301的存储装置。如图13所示,作为一种计算机存储介质的存储器1305中可以包括操作***、网络通信模块、用户接口模块以及用于应用程序的运行的应用程序。
在图13所示的终端1300中,用户接口1303主要用于为用户提供输入的接口,获取用户输入的数据;而处理器1301可以用于调用存储器1305中存储的应用程序的运行的应用程序,并具体执行以下操作:
接收切换第一应用程序的运行状态的指令;
响应于指令,将第一应用程序的运行状态从第一运行状态切换为第二运行状态,其中,第一应用程序以第一运行状态运行时所占的内存不等于第一应用程序以第二运行状态运行时所占的内存;第一应用程序以第一运行状态运行时所占的内存与第一应用程序以第二运行状态运行时所占的内存均不为零。
根据一些实施例,第一运行状态为前台运行状态,第二运行状态为后台运行状态;
处理器1301用于执行响应于指令,将第一应用程序的运行状态从第一运行状态切换为第二运行状态时,具体用于执行以下步骤:
响应于指令,将第一应用程序的运行状态从前台运行状态切换为后台运行状态时,释放第一内存与第二内存之间的第一差值内存,保留第二内存,其中,第一内存为第一应用程序以前台运行状态运行时所占的内存,第二内存为第一应用程序以后台运行状态运行时所占的内存,第一内存大于第二内存。
根据一些实施例,处理器1301用于执行接收切换第一应用程序的运行状态的指令之前,还具体用于执行以下步骤:
接收针对第一应用程序的启动指令;
响应于启动指令,将第一应用程序的运行状态从第三运行状态切换为前台运行状态时,按照预设步骤加载第一内存,其中,第三运行状态为第一应用程序的退出状态。
根据一些实施例,处理器1301用于执行响应于指令,将第一应用程序的运行状态从前台运行状态切换为后台运行状态时,释放第一内存与第二内存之间的第一差值内存,保留第二内存之后,还具体用于执行以下步骤:
在预设时长内,未接收到针对第一应用程序的唤醒指令时,释放第二内存;
重启第一应用程序,加载第三内存,其中,第三内存为第一应用程序以第四运行状态运行时所占的内存,第三内存小于第二内存。
根据一些实施例,处理器1301用于执行响应于指令,将第一应用程序的运行状态从前台运行状态切换为后台运行状态时,释放第一内存与第二内存之间的第一差值内存,保留第二内存之后,还具体用于执行以下步骤:
接收针对运行状态为后台运行状态的各应用程序的退出指令;
响应于退出指令,在第一应用程序属于预设类型的应用程序时,将第一应用程序的运行状态从后台运行状态切换为第四运行状态,释放第二内存和第三内存之间的第二差值内存,保留第三内存,其中,第三内存为第一应用程序以第四运行状态运行时所占的内存,第三内存小于第二内存。
根据一些实施例,处理器1301用于执行响应于指令,将第一应用程序的运行状态从前台运行状态切换为后台运行状态时,释放第一内存与第二内存之间的第一差值内存,保留第二内存之后,还具体用于执行以下步骤:
接收针对第二应用程序的启动指令;
基于启动指令,检测到终端中空闲内存小于第五内存时,释放第二内存,其中,第五内存为第二应用程序以前台运行状态运行时所占的内存。
根据一些实施例,第一运行状态为后台运行状态,第二运行状态为前台运行状态;
处理器1301用于执行响应于指令,将第一应用程序的运行状态从第一运行状态切换为第二运行状态时,具体用于执行以下步骤:
响应于指令,将第一应用程序的运行状态从后台运行状态切换为前台运行状态时,将第一应用程序所占的内存从第一内存加载至第二内存,其中,第一内存为第一应用程序以后台运行状态运行时所占的内存,第二内存为第一应用程序以前台运行状态运行时所占的内存,第一内存小于第二内存。
本申请实施例提供一种终端,可以响应于接收到的切换第一应用程序的运行状态的指令,可以将第一应用程序的运行状态从第一运行状态切换为第二运行状态,由于第一应用程序以第一运行状态运行时所占的内存不等于第一应用程序以第二运行状态运行时所占的内存,因此第一应用程序处于不同的运行状态时,终端可以为第一应用程序的运行配置相应的内存,可以减少内存资源的浪费,提高内存资源的利用率。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。其中,计算机可读存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微型驱动器以及磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪速存储器设备、磁卡或光卡、纳米***(包括分子存储器IC),或适合于存储指令和/或数据的任何类型的媒介或设备。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括存储计算机程序的非瞬时性计算机可读存储介质,该计算机程序可操作来使计算机执行如上述方法实施例中记载的任何一种应用程序的运行方法的部分或全部步骤。
本领域的技术人员可以清楚地了解到本申请的技术方案可借助软件和/或硬件来实现。本说明书中的“单元”和“模块”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是现场可编程门阵列(Field-ProgrammaBLE GateArray,FPGA)、集成电路(Integrated Circuit,IC)等。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通进程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。

Claims (10)

1.一种应用程序的运行方法,其特征在于,所述方法包括:
接收切换第一应用程序的运行状态的指令;
响应于所述指令,将所述第一应用程序的运行状态从第一运行状态切换为第二运行状态,其中,所述第一应用程序以所述第一运行状态运行时所占的内存不等于所述第一应用程序以所述第二运行状态运行时所占的内存;所述第一应用程序以所述第一运行状态运行时所占的内存与所述第一应用程序以所述第二运行状态运行时所占的内存均不为零。
2.根据权利要求1所述的方法,其特征在于,所述第一运行状态为前台运行状态,所述第二运行状态为后台运行状态;
所述响应于所述指令,将所述第一应用程序的运行状态从第一运行状态切换为第二运行状态,包括:
响应于所述指令,将所述第一应用程序的运行状态从所述前台运行状态切换为所述后台运行状态时,释放第一内存与第二内存之间的第一差值内存,保留所述第二内存,其中,所述第一内存为所述第一应用程序以所述前台运行状态运行时所占的内存,所述第二内存为所述第一应用程序以所述后台运行状态运行时所占的内存,所述第一内存大于所述第二内存。
3.根据权利要求2所述的方法,其特征在于,所述接收切换第一应用程序的运行状态的指令之前,还包括:
接收针对所述第一应用程序的启动指令;
响应于所述启动指令,将所述第一应用程序的运行状态从第三运行状态切换为所述前台运行状态时,按照预设步骤加载所述第一内存,其中,所述第三运行状态为所述第一应用程序的退出状态。
4.根据权利要求2所述的方法,其特征在于,所述响应于所述指令,将所述第一应用程序的运行状态从所述前台运行状态切换为所述后台运行状态时,释放第一内存与第二内存之间的第一差值内存,保留所述第二内存之后,还包括:
在预设时长内,未接收到针对所述第一应用程序的唤醒指令时,释放所述第二内存;
重启所述第一应用程序,加载第三内存,其中,所述第三内存为所述第一应用程序以第四运行状态运行时所占的内存,所述第三内存小于所述第二内存。
5.根据权利要求2所述的方法,其特征在于,所述响应于所述指令,将所述第一应用程序的运行状态从所述前台运行状态切换为所述后台运行状态时,释放第一内存与第二内存之间的第一差值内存,保留所述第二内存之后,还包括:
接收针对运行状态为后台运行状态的各应用程序的退出指令;
响应于所述退出指令,在所述第一应用程序属于预设类型的应用程序时,将所述第一应用程序的运行状态从所述后台运行状态切换为第四运行状态,释放所述第二内存和所述第三内存之间的第二差值内存,保留所述第三内存,其中,所述第三内存为所述第一应用程序以所述第四运行状态运行时所占的内存,所述第三内存小于所述第二内存。
6.根据权利要求2所述的方法,其特征在于,所述响应于所述指令,将所述第一应用程序的运行状态从所述前台运行状态切换为所述后台运行状态时,释放第一内存与第二内存之间的第一差值内存,保留所述第二内存之后,还包括:
接收针对第二应用程序的启动指令;
基于所述启动指令,检测到终端中空闲内存小于第五内存时,释放所述第二内存,其中,所述第五内存为所述第二应用程序以前台运行状态运行时所占的内存。
7.根据权利要求1所述的方法,其特征在于,所述第一运行状态为后台运行状态,所述第二运行状态为前台运行状态;
所述响应于所述指令,将所述第一应用程序的运行状态从第一运行状态切换为第二运行状态,包括:
响应于所述指令,将所述第一应用程序的运行状态从所述后台运行状态切换为所述前台运行状态时,将所述第一应用程序所占的内存从第一内存加载至第二内存,其中,所述第一内存为所述第一应用程序以所述后台运行状态运行时所占的内存,所述第二内存为所述第一应用程序以所述前台运行状态运行时所占的内存,所述第一内存小于所述第二内存。
8.一种应用程序的运行装置,其特征在于,所述装置包括:
指令接收单元,用于接收切换第一应用程序的运行状态的指令;
状态切换单元,用于响应于所述指令,将所述第一应用程序的运行状态从第一运行状态切换为第二运行状态,其中,所述第一应用程序以所述第一运行状态运行时所占的内存不等于所述第一应用程序以所述第二运行状态运行时所占的内存;所述第一应用程序以所述第一运行状态运行时所占的内存与所述第一应用程序以所述第二运行状态运行时所占的内存均不为零。
9.一种终端,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,其特征在于,处理器执行计算机程序时实现上述权利要求1-7中任一项方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述权利要求1-7中任一项方法。
CN202010964747.4A 2020-09-15 2020-09-15 应用程序的运行方法、装置、终端及存储介质 Pending CN112114965A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010964747.4A CN112114965A (zh) 2020-09-15 2020-09-15 应用程序的运行方法、装置、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010964747.4A CN112114965A (zh) 2020-09-15 2020-09-15 应用程序的运行方法、装置、终端及存储介质

Publications (1)

Publication Number Publication Date
CN112114965A true CN112114965A (zh) 2020-12-22

Family

ID=73802642

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010964747.4A Pending CN112114965A (zh) 2020-09-15 2020-09-15 应用程序的运行方法、装置、终端及存储介质

Country Status (1)

Country Link
CN (1) CN112114965A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112711477A (zh) * 2021-03-29 2021-04-27 北京拓课网络科技有限公司 一种切换应用程序的方法、装置及电子设备
CN114138147A (zh) * 2021-11-16 2022-03-04 努比亚技术有限公司 一种应用界面显示方法、终端及计算机可读存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102866908A (zh) * 2012-07-25 2013-01-09 广东欧珀移动通信有限公司 一种Android后台应用和服务的清理方法
CN103324500A (zh) * 2013-05-06 2013-09-25 广州市动景计算机科技有限公司 一种回收内存的方法及装置
CN104375828A (zh) * 2014-10-27 2015-02-25 小米科技有限责任公司 内存优化方法及装置
CN105117295A (zh) * 2015-09-18 2015-12-02 北京金山安全软件有限公司 一种内存资源释放方法、装置及电子设备
CN107066335A (zh) * 2017-03-23 2017-08-18 华南师范大学 一种云平台内存的优化方法和优化***
CN109614168A (zh) * 2018-12-11 2019-04-12 深圳美图创新科技有限公司 内存优化方法及装置
CN109891390A (zh) * 2017-08-11 2019-06-14 华为技术有限公司 一种应用切换方法及装置
CN110023906A (zh) * 2017-10-13 2019-07-16 华为技术有限公司 一种压缩和解压处理器所占内存的方法及装置
CN110018901A (zh) * 2018-01-10 2019-07-16 广东欧珀移动通信有限公司 内存回收方法、装置、计算机设备和计算机可读存储介质
CN111045824A (zh) * 2019-12-12 2020-04-21 Oppo广东移动通信有限公司 应用控制方法、装置、电子设备以及计算机可读介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102866908A (zh) * 2012-07-25 2013-01-09 广东欧珀移动通信有限公司 一种Android后台应用和服务的清理方法
CN103324500A (zh) * 2013-05-06 2013-09-25 广州市动景计算机科技有限公司 一种回收内存的方法及装置
CN104375828A (zh) * 2014-10-27 2015-02-25 小米科技有限责任公司 内存优化方法及装置
CN105117295A (zh) * 2015-09-18 2015-12-02 北京金山安全软件有限公司 一种内存资源释放方法、装置及电子设备
CN107066335A (zh) * 2017-03-23 2017-08-18 华南师范大学 一种云平台内存的优化方法和优化***
CN109891390A (zh) * 2017-08-11 2019-06-14 华为技术有限公司 一种应用切换方法及装置
CN110023906A (zh) * 2017-10-13 2019-07-16 华为技术有限公司 一种压缩和解压处理器所占内存的方法及装置
CN110018901A (zh) * 2018-01-10 2019-07-16 广东欧珀移动通信有限公司 内存回收方法、装置、计算机设备和计算机可读存储介质
CN109614168A (zh) * 2018-12-11 2019-04-12 深圳美图创新科技有限公司 内存优化方法及装置
CN111045824A (zh) * 2019-12-12 2020-04-21 Oppo广东移动通信有限公司 应用控制方法、装置、电子设备以及计算机可读介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112711477A (zh) * 2021-03-29 2021-04-27 北京拓课网络科技有限公司 一种切换应用程序的方法、装置及电子设备
CN112711477B (zh) * 2021-03-29 2021-06-25 北京拓课网络科技有限公司 一种切换应用程序的方法、装置及电子设备
CN114138147A (zh) * 2021-11-16 2022-03-04 努比亚技术有限公司 一种应用界面显示方法、终端及计算机可读存储介质

Similar Documents

Publication Publication Date Title
US11409547B2 (en) Method for rendering user interface and terminal
CN109343902B (zh) 音频处理组件的运行方法、装置、终端及存储介质
CN109542614B (zh) 资源配置方法、装置、终端及存储介质
CN111124668B (zh) 内存释放方法、装置、存储介质及终端
US20160247306A1 (en) Apparatus and method for controlling display in electronic device having processors
US11314391B2 (en) Navigation bar controlling method and terminal
CN112464095B (zh) 消息推送方法、装置、终端及存储介质
AU2019256257A1 (en) Processor core scheduling method and apparatus, terminal, and storage medium
CN112114965A (zh) 应用程序的运行方法、装置、终端及存储介质
CN112817498A (zh) 应用权限管理方法、装置、存储介质以及终端
CN111913614B (zh) 多画面显示控制方法、装置、存储介质及显示器
CN113286349B (zh) 个人热点连接方法、装置、终端及存储介质
CN112995562A (zh) 摄像头的调用方法、装置、存储介质及终端
CN110730300A (zh) 相机控制方法、装置、存储介质和终端
CN113098859B (zh) 网页页面回退方法、装置、终端及存储介质
CN113950043B (zh) 通信方法、装置、存储介质以及终端
CN113568748A (zh) 一种应用进程处理方法、装置、存储介质及电子设备
CN113010078A (zh) 触控方法、装置、存储介质及电子设备
CN112612633A (zh) 进程间通信方法、装置、存储介质以及终端
CN113692026B (zh) 网络连接方法、装置、终端及存储介质
CN115314588B (zh) 背景同步方法、装置、终端、设备、***及存储介质
WO2022218191A1 (zh) 电量显示方法、装置、存储介质及终端设备
CN112667316A (zh) 应用加载方法、装置、终端及存储介质
CN113535243A (zh) 终端的启动方法、装置、终端及存储介质
CN116801354A (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