CN109408149A - 应用程序的启动方法、装置、设备以及存储介质 - Google Patents

应用程序的启动方法、装置、设备以及存储介质 Download PDF

Info

Publication number
CN109408149A
CN109408149A CN201811276611.3A CN201811276611A CN109408149A CN 109408149 A CN109408149 A CN 109408149A CN 201811276611 A CN201811276611 A CN 201811276611A CN 109408149 A CN109408149 A CN 109408149A
Authority
CN
China
Prior art keywords
application program
data
physical memory
memory
page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811276611.3A
Other languages
English (en)
Other versions
CN109408149B (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.)
Vidaa Netherlands International Holdings BV
Original Assignee
Qingdao Hisense Media Network 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 Qingdao Hisense Media Network Technology Co Ltd filed Critical Qingdao Hisense Media Network Technology Co Ltd
Priority to CN201811276611.3A priority Critical patent/CN109408149B/zh
Publication of CN109408149A publication Critical patent/CN109408149A/zh
Application granted granted Critical
Publication of CN109408149B publication Critical patent/CN109408149B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

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

应用程序的启动方法、装置、设备以及存储介质
技术领域
本发明涉及终端技术领域,尤其涉及一种应用程序的启动方法、装置、设备以及存储介质。
背景技术
随着终端设备的普及,应用程序的使用更加的多样和频繁,并且已经融入到人们生活中的方方面面,用户对于应用程序的启动、运行的操作感受有了越来越高的要求。
目前,在从应用程序1切换到应用程序2的过程,对于提供更好的应用程序启动速度以及运行速度,现有技术中提供了两种方案:1)在切换应用程序时,将应用程序1切换到后台,而没有最大限度的释放应用程序1的内存,这样可以加快应用程序的重新启动;2)在切换应用程序时,将应用程序1彻底退出,释放运行内存提高运行速度。
上述两种方案在提高应用程序启动速度和保证运行速度这两方面存在矛盾,均不能做到既减小内存占用,又加快应用程序的启动速度。
发明内容
本发明提供一种应用程序的启动方法、装置、设备以及存储介质,拟克服现有技术中提高应用程序启动速度和保证运行速度这两方面存在矛盾。
第一方面,本发明提供一种应用程序的启动方法,应用于终端设备,包括:
根据用户的操作,获取第一应用程序的启动指令;
根据所述启动指令,从交换分区中获取所述第一应用程序的数据,并将所述第一应用程序的数据写入为所述第一应用程序申请的物理内存页面;其中,所述交换分区中所述第一应用程序的数据是在上次暂停运行时所述第一应用程序存储的。
获取预先存储的所述第一应用程序的运行数据,启动所述第一应用程序的运行。
进一步地,所述启动指令还用于指示从第二应用程序切换到第一应用程序进行运行,则所述根据所述启动指令,从交换分区中获取所述第一应用程序的数据之前,所述方法还包括:
根据所述启动指令,停止运行所述第二应用程序,并存储所述第二应用程序的运行数据;
将所述第二应用程序在内存中占用的物理内存页面中的数据写入交换分区,并释放所述第二应用程序占用的内存。
在一种具体的实现方式中,所述将所述第二应用程序在内存中占用的物理内存页面中的数据写入交换分区,包括:
扫描进程中虚拟内存区域,获取所述第二应用程序的页表项;
根据所述第二应用程序的页表项,获取所述第二应用程序在内存中占用的物理内存页面;
将所述物理内存页面中的数据写入所述交换分区。
在一种具体的实现方式中,所述释放所述第二应用程序占用的内存,包括:
解除所述第二应用程序的页表项与物理内存页面的映射关系;
释放所述物理内存页面,并将所述物理内存页面添加到空闲链表。
第二方面,本发明提供一种应用程序的启动装置,包括:
获取模块,用于根据用户的操作,获取第一应用程序的启动指令;
第一处理模块,用于根据所述启动指令,从交换分区中获取所述第一应用程序的数据,并将所述第一应用程序的数据写入为所述第一应用程序申请的物理内存页面;其中,所述交换分区中所述第一应用程序的数据是在上次暂停运行时所述第一应用程序存储的。
第二处理模块,用于获取预先存储的所述第一应用程序的运行数据,启动所述第一应用程序的运行。
在一种具体的实现方式中,所述装置还包括:第三处理模块和第四处理模块;
所述第三处理模块用于根据所述启动指令,停止运行所述第二应用程序,并存储所述第二应用程序的运行数据;
所述第四处理模块用于将所述第二应用程序在内存中占用的物理内存页面中的数据写入交换分区,并释放所述第二应用程序占用的内存。
具体的,所述第四处理模块具体用于:
扫描进程中虚拟内存区域,获取所述第二应用程序的页表项;
根据所述第二应用程序的页表项,获取所述第二应用程序在内存中占用的物理内存页面;
将所述物理内存页面中的数据写入所述交换分区。
进一步地,所述第四处理模块还具体用于:
解除所述第二应用程序的页表项与物理内存页面的映射关系;
释放所述物理内存页面,并将所述物理内存页面添加到空闲链表。
第三方面,本发明提供一种终端设备,包括:存储器、处理器、以及计算机程序,所述计算机程序存储在所述存储器中,所述处理器运行所述计算机程序执行权利要求1至4任一项所述的应用程序的启动方法。
第四方面,本发明提供一种存储介质,包括:可读存储介质和计算机程序,所述计算机程序用于实现权利要求1至4任一项所述的应用程序的启动方法。
本发明实施例提供的一种应用程序的启动方法、装置、设备以及存储介质。根据用户的启动指令,从交换分区中获取第一应用程序的数据,并将第一应用程序的数据写入为第一应用程序申请的物理内存页面,其中,交换分区中第一应用程序的数据是在上次暂停运行时所述第一应用程序存储的,并获取预先存储的所述第一应用程序的运行数据,启动所述第一应用程序的运行。本方案既减少了***内存的占用,又加快了应用程序的启动速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种应用程序的启动方法实施例一的流程示意图;
图2为本发明实施例提供的一种应用程序的启动方法实施例二的流程示意图;
图3为本发明实施例提供的一种应用程序的启动方法实施例三的流程示意图;
图4为本发明实施例提供的一种应用程序的启动方法实施例四的流程示意图;
图5为本发明实施例提供的一种应用程序进程挂起的流程示意图;
图6为本发明实施例提供的一种应用程序进程恢复的流程示意图;
图7为本发明实施例提供的一种应用程序切换的流程示意图;
图8为本发明实施例提供的一种应用程序切换装置的应用场景示意图;
图9为本发明实施例提供的一种应用程序的启动装置的结构示意图一;
图10为本发明实施例提供的一种应用程序的启动装置的结构示意图二;
图11为本发明实施例提供的终端设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
现有技术中,在从应用程序1切换到应用程序2的过程,对于提供更好的应用程序启动速度以及运行速度,有两种方案:1)在切换应用程序时,将应用程序1切换到后台,而没有最大限度的释放应用程序1的内存,这样可以加快应用程序的重新启动;2)在切换应用程序时,将应用程序1彻底退出,释放运行内存提高运行速度。两种方案在提高应用程序启动速度和保证运行速度这两方面存在矛盾,均不能做到既减小内存占用,又加快应用程序的启动速度。
同时,Linux操作***具有Swap机制,Linux***会定时扫描内存使用情况,发现有内存不活跃,会根据一定的算法将其交换到交换分区,以释放内存。然而,对于应用进程来说,这是被动的,也是不及时和不完全的。
为克服现有技术的问题,本方案结合Linux***的Swap机制,提出了一种应用程序的启动方法。通过增加进程主动Swap机制,根据用户的应用程序切换指令,停止运行第一应用程序,存储第一应用程序的运行数据,将第一应用程序占用内存存储的数据写入交换分区,并释放第一应用程序占用的内存,通过将交换分区中存储的第二应用数据读入内存,恢复第二应用程序的运行状态。既能减少***内存的占用,又能加快应用程序的启动速度,便于应用程序恢复运行状态。
下面通过几个具体实施例对该方案进行详细说明。
实施例一:
图1为本发明实施例提供的一种应用程序的启动方法实施例一的流程示意图,如图1所示,该应用程序的启动方法包括:
S101:根据用户的操作,获取第一应用程序的启动指令。
在本步骤中,应理解,第一应用程序是***后台运行的,且运行数据已存储、内存数据已经交换到交换分区的应用程序。
其中,第一应用程序的启动指令是根据用户对终端设备的操作获取的,在一种具体的实现方式中,用户通过终端设备的界面查看到***后台运行的所有应用程序,选择需要回复启动的应用程序。在另一种具体的实现方式中,用户通过当前正在运行的应用程序,跳转到正在***后台运行的某一应用程序,例如,用户在使用微信时看到腾讯新闻公众号推送的文章,通过选择查看详情,跳转到腾讯新闻应用程序。在另一种具体的实现方式中,用户通过热键将***后台运行的程序启动运行,从而使当前正在运行的程序停止运行并交换到***后台。
可选的,终端设备可以是手机、平板电脑、智能穿戴产品等,本方案对此不做要求。
S102:根据所述启动指令,从交换分区中获取所述第一应用程序的数据,并将所述第一应用程序的数据写入为所述第一应用程序申请的物理内存页面。
在本步骤中,第一应用程序为非首次启动的应用程序,该第一应用程序的数据存储于交换分区,并且,该第一应用程序前一次运行的运行数据保存于终端设备的存储介质中。当接收到用户的启动指令后,第一应用程序恢复运行,***通过Linux***的Swap机制根据申请的物理内存页面,将该第一应用程序的数据重新存储到物理内存中,并且根据存储介质中存储的运行数据,快速恢复第二应用程序前一次的运行状态,继续运行。
具体的,第一应用程序开始恢复运行时,***访问内存的过程中,未发现第一应用程序的数据,随即,Linux内核触发缺页中断信号,进而申请物理内存页面,并利用Swap机制将交换分区中的第二应用程序的数据重新存储在物理内存中。
S103:获取预先存储的第一应用程序的运行数据,启动第一应用程序的运行。
在本步骤中,第一应用程序在存储介质中获取预先存储的运行数据,该运行数据为前一次程序挂起预操作中存储的,根据该运行数据,第一应用程序可以恢复至前一次的运行状态继续运行。
本发明实施例提供的一种应用程序的启动方法,根据用户的启动指令,从交换分区中获取第一应用程序的数据,并将第一应用程序的数据写入为第一应用程序申请的物理内存页面,其中,交换分区中第一应用程序的数据是在上次暂停运行时所述第一应用程序存储的,并获取预先存储的所述第一应用程序的运行数据,启动所述第一应用程序的运行,既减少了***内存的占用,又加快了应用程序的启动速度。
实施例二
图2为本发明实施例提供的一种应用程序的启动方法实施例二的流程示意图,在上述实施例一的基础上,如图2所示,在获取第一应用程序的启动指令时,若第二应用程序正在运行,则该应用程序的启动方法还应包括以下步骤:
S201:根据启动指令,停止运行第二应用程序,并存储第二应用程序的运行数据。
在本步骤中,收到第一应用程序的启动指令后,若***正在运行第二应用程序,则***进行第二应用程序挂起预操作,主要完成第二应用程序暂停运行,记录第二应用程序当前运行状态,并存储运行数据,该运行数据可以是视频播放程序中止视频播放的时间点,可以是电子书程序中止时的电子书阅读页面,也可以是购物程序中止时的商品页面。从而,当再次启动第二应用程序时,***可以根据存储的运行数据,快速恢复第二应用程序前一次的运行状态。
可选的,运行数据可存储在终端设备的硬盘、SD卡、CF卡等存储介质中,本方案对此不做要求。
S202:将第二应用程序在内存中占用的物理内存页面中的数据写入交换分区,并释放第二应用程序占用的内存。
在本步骤中,***查找第二应用程序在物理内存中存储的所有数据,并将其写入交换分区,然后将占用的物理内存页面释放,减少***内存的占用。
其中,交换分区由Linux***创建,是Linux***的虚拟内存分区,也称为Swap分区。
实施例三:
图3为本发明实施例提供的一种应用程序的启动方法实施例三的流程示意图,在实施例二的基础上,图3所示为实施例二中的将第二应用程序的物理内存中的数据写入交换分区的具体步骤,如图3所示,该应用程序的启动方法还包括:
S301:扫描进程中虚拟内存区域,获取第二应用程序的页表项。
在本步骤中,通过扫描进程中所有的虚拟内存区域,可以获取第二应用程序的所有页表项,用来获取第二应用程序的物理内存页面。
具体的,CPU在执行一个进程时候,都会访问内存。但CPU不能直接访问物理内存页面,需要通过虚拟内存区域来间接的访问物理内存页面。虚拟内存区域和物理内存页面通过页表一一对应。
S302:根据第二应用程序的页表项,获取第二应用程序在内存中占用的物理内存页面。
在本步骤中,应理解,页表项与物理内存页面一一对应,通过遍历第二应用程序的所有页表项,可以获取第二应用程序在内存中占用的所有物理内存页面,以便获取第二应用程序的所有数据。
S303:将物理内存页面中的数据写入交换分区。
在本步骤中,将应用程序所有物理内存页面中的数据写入***交换分区。此处,应理解,将物理内存页面中的数据写入交换分区,可以在不占用内存的情况下,实现应用程序的快速恢复。
本发明实施例中,扫描进程中的虚拟内存区域,以获取应用程序的页表项,遍历所有页表项可获得应用程序的物理内存页面,将物理内存页面中的数据写入交换分区,用于应用程序运行状态的快速恢复。
实施例四:
图4为本发明实施例提供的一种应用程序的启动方法实施例四的流程示意图,在实施例二的基础上,图4所示为实施例二中的第二应用程序内存释放的具体步骤,如图4所示,该应用程序的启动方法还包括:
S401:解除第二应用程序的页表项与物理内存页面的映射关系。
在本步骤中,当应用程序在物理内存页面存储的数据写入到交换分区后,解除应用程序页表项与物理内存页面的映射关系。
S402:释放物理内存页面,并将物理内存页面添加到空闲链表。
在本步骤中,释放物理内存页面,例如,将物理内存页面标记为free状态,并将物理内存页面添加到空闲链表,从而,***完成了内存回收,减少了***物理内存的占用。
本发明实施例中,应用程序物理内存中的数据写入交换分区后,解除页表项与物理内存页面的映射关系,将物理内存页面添加到空闲链表,完成***内存回收,减少了***物理内存的占用。
实施例五:
在上述实施例的基础上,下面将通过应用程序进程挂起,应用程序进程恢复,以及应用程序切换三个方面,以当前运行程序为应用1,***后台程序为应用2为例,阐述本发明提供的一种应用程序的启动方法。
图5为本发明实施例提供的一种应用程序进程挂起的流程示意图,如图5所示,应用程序进程挂起的具体步骤:
a)应用挂起预操作,主要完成应用暂停运行,记录当前运行状态,同步数据到存储设备;
b)触发进程挂起操作,扫描进程所有虚拟内存区域(virtual memory areas,VMA);
c)遍历所有页表项(Page Table Entry,PTE),每一个页表项对应一个物理内存页面;
d)将页表项对应的物理内存页面写到交换分区;
e)解除PTE页表项同物理内存页面的映射关系;
f)释放物理物理内存页面,并添加到空闲链表中;起到释放内存作用。
图6为本发明实施例提供的一种应用程序进程恢复的流程示意图,如图6所示,应用程序进程恢复的具体步骤:
a)应用恢复运行;
b)访问内存,由于实际内存已经交换到交换分区,所以***会自动利用Linux***之Swap机制将页面恢复到内存中;
c)恢复上次挂起时状态,应用继续运行。
图7为本发明实施例提供的一种应用程序切换的流程示意图,如图7所示,应用程序切换的具体步骤:
(1)用户触发切换应用,从应用1切换到应用2。
(2)应用管理模块进行挂起应用1操作。
(3)触发页表项的内存交换操作,将该进程使用的内存页表项对应的物理内存页交换到EMMC的交换分区。从而保证应用1在挂起状态不占用内存。
(4)应用管理模块启动应用2。
(5)内核触发内存缺页中断,该中断信号会触发动作,该动作会将Swap分区中的内存页交换到内存上,从而实现应用2快速启动。
在图5至图7所示实施例的基础上,图8为本发明实施例提供的一种应用程序切换装置的应用场景示意图,如图8所示:
1、当前正在运行应用为:应用1;
2、之前曾经运行过应用2,并且应用2目前为挂起状态;
3、用户进行从应用1到应用2的切换操作(即重新启动应用2);
本发明提供一种应用程序切换装置,该装置可以用于执行实施例一至实施例四的任一方法的技术方案。
图9为本发明实施例提供的一种应用程序的启动装置的结构示意图一,如图9所示,该应用程序的启动装置10,包括:
获取模块101,用于根据用户的操作,获取第一应用程序的启动指令;
第一处理模块102,用于根据所述启动指令,从交换分区中获取所述第一应用程序的数据,并将所述第一应用程序的数据写入为所述第一应用程序申请的物理内存页面;其中,所述交换分区中所述第一应用程序的数据是在上次暂停运行时所述第一应用程序存储的。
第二处理模块103,用于获取预先存储的所述第一应用程序的运行数据,启动所述第一应用程序的运行。
本实施例提供的应用程序的启动装置,用于执行前述任一方法实施例中应用程序的启动方法的技术方案,其实现原理和技术效果类似,根据用户的启动指令,从交换分区中获取第一应用程序的数据,并将第一应用程序的数据写入为第一应用程序申请的物理内存页面,其中,交换分区中第一应用程序的数据是在上次暂停运行时所述第一应用程序存储的,并获取预先存储的所述第一应用程序的运行数据,启动所述第一应用程序的运行。实现了减少***内存占用,同时,保存了第一应用程序的数据和运行数据,便于应用程序恢复运行状态,加快了应用程序再次启动时的启动速度。
在上述装置实施例的基础上,图10为本发明实施例提供的一种应用程序的启动装置的结构示意图二,如图10所示,该应用程序的启动装置10,还包括:
第三处理模块104和第四处理模块105;
所述第三处理模块104用于根据所述启动指令,停止运行所述第二应用程序,并存储所述第二应用程序的运行数据;
所述第四处理模块105用于将所述第二应用程序在内存中占用的物理内存页面中的数据写入交换分区,并释放所述第二应用程序占用的内存。
在一种具体的实现方式中,第四处理模块105具体用于:
扫描进程中虚拟内存区域,获取所述第一应用程序的页表项;
根据所述第一应用程序的页表项,获取所述第一应用程序在内存中占用的物理内存页面;
将所述物理内存页面中的数据写入所述交换分区。
在另一种具体的实现方式中,第四处理模块105还具体用于:
解除所述第一应用程序的页表项与物理内存页面的映射关系;
释放所述物理内存页面,并将所述物理内存页面添加到空闲链表。
图11为本发明实施例提供的终端设备的硬件结构示意图。如图11所示,本实施例的终端设备20包括:处理器202以及存储器201;其中
存储器201,用于存储计算机执行指令;
处理器202,用于执行存储器存储的计算机执行指令,以实现上述实施例中终端设备所执行的各个步骤。具体可以参见前述方法实施例中的相关描述。
可选地,存储器201既可以是独立的,也可以跟处理器202集成在一起。
当存储器201独立设置时,该终端设备还包括总线203,用于连接所述存储器201和处理器202。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的应用程序的启动方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种应用程序的启动方法,其特征在于,应用于终端设备,包括:
根据用户的操作,获取第一应用程序的启动指令;
根据所述启动指令,从交换分区中获取所述第一应用程序的数据,并将所述第一应用程序的数据写入为所述第一应用程序申请的物理内存页面;其中,所述交换分区中所述第一应用程序的数据是在上次暂停运行时所述第一应用程序存储的;
获取预先存储的所述第一应用程序的运行数据,启动所述第一应用程序的运行。
2.根据权利要求1所述的方法,其特征在于,所述启动指令还用于指示从第二应用程序切换到第一应用程序进行运行,则所述根据所述启动指令,从交换分区中获取所述第一应用程序的数据之前,所述方法还包括:
根据所述启动指令,停止运行所述第二应用程序,并存储所述第二应用程序的运行数据;
将所述第二应用程序在内存中占用的物理内存页面中的数据写入交换分区,并释放所述第二应用程序占用的内存。
3.根据权利要求2所述的方法,其特征在于,所述将所述第二应用程序在内存中占用的物理内存页面中的数据写入交换分区,包括:
扫描进程中虚拟内存区域,获取所述第二应用程序的页表项;
根据所述第二应用程序的页表项,获取所述第二应用程序在内存中占用的物理内存页面;
将所述物理内存页面中的数据写入所述交换分区。
4.根据权利要求3所述的方法,其特征在于,所述释放所述第二应用程序占用的内存,包括:
解除所述第二应用程序的页表项与物理内存页面的映射关系;
释放所述物理内存页面,并将所述物理内存页面添加到空闲链表。
5.一种应用程序的启动装置,其特征在于,包括:
获取模块,用于根据用户的操作,获取第一应用程序的启动指令;
第一处理模块,用于根据所述启动指令,从交换分区中获取所述第一应用程序的数据,并将所述第一应用程序的数据写入为所述第一应用程序申请的物理内存页面;其中,所述交换分区中所述第一应用程序的数据是在上次暂停运行时所述第一应用程序存储的;
第二处理模块,用于获取预先存储的所述第一应用程序的运行数据,启动所述第一应用程序的运行。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:第三处理模块和第四处理模块;
所述第三处理模块用于根据所述启动指令,停止运行所述第二应用程序,并存储所述第二应用程序的运行数据;
所述第四处理模块用于将所述第二应用程序在内存中占用的物理内存页面中的数据写入交换分区,并释放所述第二应用程序占用的内存。
7.根据权利要求6所述的装置,其特征在于,所述第四处理模块具体用于:
扫描进程中虚拟内存区域,获取所述第二应用程序的页表项;
根据所述第二应用程序的页表项,获取所述第二应用程序在内存中占用的物理内存页面;
将所述物理内存页面中的数据写入所述交换分区。
8.根据权利要求7所述的装置,其特征在于,所述第四处理模块还具体用于:
解除所述第二应用程序的页表项与物理内存页面的映射关系;
释放所述物理内存页面,并将所述物理内存页面添加到空闲链表。
9.一种终端设备,其特征在于,包括:存储器、处理器、以及计算机程序,所述计算机程序存储在所述存储器中,所述处理器运行所述计算机程序执行权利要求1至4任一项所述的应用程序的启动方法。
10.一种存储介质,其特征在于,包括:可读存储介质和计算机程序,所述计算机程序用于实现权利要求1至4任一项所述的应用程序的启动方法。
CN201811276611.3A 2018-10-30 2018-10-30 应用程序的启动方法、装置、设备以及存储介质 Active CN109408149B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811276611.3A CN109408149B (zh) 2018-10-30 2018-10-30 应用程序的启动方法、装置、设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811276611.3A CN109408149B (zh) 2018-10-30 2018-10-30 应用程序的启动方法、装置、设备以及存储介质

Publications (2)

Publication Number Publication Date
CN109408149A true CN109408149A (zh) 2019-03-01
CN109408149B CN109408149B (zh) 2022-02-25

Family

ID=65469956

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811276611.3A Active CN109408149B (zh) 2018-10-30 2018-10-30 应用程序的启动方法、装置、设备以及存储介质

Country Status (1)

Country Link
CN (1) CN109408149B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111045749A (zh) * 2019-12-18 2020-04-21 青岛海信传媒网络技术有限公司 应用程序启动方法及设备
CN112905256A (zh) * 2019-12-03 2021-06-04 北京奇艺世纪科技有限公司 数据处理方法、装置、电子设备及存储介质
WO2022001504A1 (zh) * 2020-06-28 2022-01-06 华为技术有限公司 恢复应用程序的运行状态的方法、装置及存储介质
CN114546523A (zh) * 2022-01-29 2022-05-27 阿里巴巴(中国)有限公司 应用程序启动方法、装置、电子设备、介质及程序产品

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009237767A (ja) * 2008-03-26 2009-10-15 Nippon Telegr & Teleph Corp <Ntt> 情報引継方法及び退避・復元装置及び情報引継ぎプログラム
CN101788936A (zh) * 2010-01-08 2010-07-28 中兴通讯股份有限公司 移动终端运行时快照备份、恢复方法及装置
CN102779072A (zh) * 2012-06-18 2012-11-14 中国科学院上海微***与信息技术研究所 一种嵌入式***及其应用进程的休眠与唤醒方法
CN104035791A (zh) * 2014-05-08 2014-09-10 Tcl集团股份有限公司 一种应用程序的启动方法、关闭方法和智能终端
CN105389174A (zh) * 2014-09-04 2016-03-09 Tcl集团股份有限公司 一种基于移动操作***的应用程序加速启动方法及***
CN106155778A (zh) * 2016-07-07 2016-11-23 中国科学院声学研究所 一种应用容器的启动方法及***
CN106155733A (zh) * 2015-04-23 2016-11-23 腾讯科技(深圳)有限公司 一种运行应用程序的方法和装置
CN106951291A (zh) * 2017-03-28 2017-07-14 努比亚技术有限公司 应用程序加速启动方法及装置
CN108037683A (zh) * 2017-12-20 2018-05-15 深圳市沃特沃德股份有限公司 车载***恢复应用程序运行状态的方法与车载***

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009237767A (ja) * 2008-03-26 2009-10-15 Nippon Telegr & Teleph Corp <Ntt> 情報引継方法及び退避・復元装置及び情報引継ぎプログラム
CN101788936A (zh) * 2010-01-08 2010-07-28 中兴通讯股份有限公司 移动终端运行时快照备份、恢复方法及装置
CN102779072A (zh) * 2012-06-18 2012-11-14 中国科学院上海微***与信息技术研究所 一种嵌入式***及其应用进程的休眠与唤醒方法
CN104035791A (zh) * 2014-05-08 2014-09-10 Tcl集团股份有限公司 一种应用程序的启动方法、关闭方法和智能终端
CN105389174A (zh) * 2014-09-04 2016-03-09 Tcl集团股份有限公司 一种基于移动操作***的应用程序加速启动方法及***
CN106155733A (zh) * 2015-04-23 2016-11-23 腾讯科技(深圳)有限公司 一种运行应用程序的方法和装置
CN106155778A (zh) * 2016-07-07 2016-11-23 中国科学院声学研究所 一种应用容器的启动方法及***
CN106951291A (zh) * 2017-03-28 2017-07-14 努比亚技术有限公司 应用程序加速启动方法及装置
CN108037683A (zh) * 2017-12-20 2018-05-15 深圳市沃特沃德股份有限公司 车载***恢复应用程序运行状态的方法与车载***

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905256A (zh) * 2019-12-03 2021-06-04 北京奇艺世纪科技有限公司 数据处理方法、装置、电子设备及存储介质
CN112905256B (zh) * 2019-12-03 2024-02-09 北京奇艺世纪科技有限公司 数据处理方法、装置、电子设备及存储介质
CN111045749A (zh) * 2019-12-18 2020-04-21 青岛海信传媒网络技术有限公司 应用程序启动方法及设备
WO2022001504A1 (zh) * 2020-06-28 2022-01-06 华为技术有限公司 恢复应用程序的运行状态的方法、装置及存储介质
CN114546523A (zh) * 2022-01-29 2022-05-27 阿里巴巴(中国)有限公司 应用程序启动方法、装置、电子设备、介质及程序产品

Also Published As

Publication number Publication date
CN109408149B (zh) 2022-02-25

Similar Documents

Publication Publication Date Title
US11531625B2 (en) Memory management method and apparatus
CN109408149A (zh) 应用程序的启动方法、装置、设备以及存储介质
US9921955B1 (en) Flash write amplification reduction
CN104808952B (zh) 数据缓存方法及装置
CN104407933B (zh) 一种数据的备份方法及装置
WO2022089281A1 (zh) 基于容器的应用管理方法和装置
US20140095769A1 (en) Flash memory dual in-line memory module management
CN110532197B (zh) 内存回收方法及装置、电子设备、存储介质
US9727368B1 (en) Virtual machine migration acceleration with page state indicators
CN109542645A (zh) 一种调用服务的方法、装置、电子设备及存储介质
CN108880898B (zh) 主备容器***切换方法及装置
US20180150327A1 (en) Lockless free memory ballooning for virtual machines
US9886198B2 (en) Page compression strategy for improved page out process
US10416994B2 (en) Control method
JP2009525555A (ja) 装置の非アクティブな期間の間、dramの未使用部分のリフレッシュを動作不能にすることによって電力消費量を低減すること
CN105786405A (zh) 一种在线升级方法、装置及***
CN112598565B (zh) 一种基于加速卡的服务运行方法、装置、电子设备及存储介质
CN110704161B (zh) 虚拟机创建方法、装置及计算机设备
CN113778662B (zh) 内存回收方法及装置
CN103914325B (zh) 基于混合内存的Linux***的关机、开机方法及***
CN112925606B (zh) 一种内存管理方法、装置及设备
CN113204407A (zh) 一种内存超配管理方法及装置
CN112306669A (zh) 一种基于多核***的任务处理方法及装置
CN114661428A (zh) 一种原子操作的处理方法、设备、装置及存储介质
CN108021408B (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
TR01 Transfer of patent right

Effective date of registration: 20221025

Address after: 83 Intekte Street, Devon, Netherlands

Patentee after: VIDAA (Netherlands) International Holdings Ltd.

Address before: 266061 room 131, 248 Hong Kong East Road, Laoshan District, Qingdao City, Shandong Province

Patentee before: QINGDAO HISENSE MEDIA NETWORKS Ltd.

TR01 Transfer of patent right