虚拟内存管理方法和电子设备与流程

文档序号:34448207发布日期:2023-06-13 12:24阅读:48来源:国知局
虚拟内存管理方法和电子设备与流程

本技术涉及终端及通信,尤其涉及虚拟内存管理方法和电子设备。


背景技术:

1、电子设备的随机存取存储器(random access memory,ram)(也称内存)资源是固定的,比如一台手机的ram配置是8gb。用户每天在使用电子设备过程中,会启动很多个应用,每个应用都会占用一定的ram空间。

2、当ram空间达到电子设备的上限之后,操作系统开始启动应用清理,释放ram空间,供给用户启动的新应用使用。如果应用的内存被清理回收,用户重新点击应用,会需要重新生成该应用被清理的数据到内存,极大的降低了该应用的热启动的速度。


技术实现思路

1、本技术提供了一种内存管理方法,用于提升后台应用的热启动速度。

2、第一方面,本技术提供了一种虚拟内存管理方法,该方法应用于电子设备,该电子设备包含第一应用,该第一应用包括第一进程和第二进程,该第一进程属于该第一应用的第一进程分组,该第二进程属于该第一应用的第二进程分组,该第一进程为与该第一应用的主界面相关的进程,该方法包括:在该第一应用切换到后台且满足预设第一内存回收条件的情况下,该电子设备清理该第二进程分组中进程的数据;响应于将该第一应用切换到前台的操作,该电子设备通过该第一进程分组中的进程在内存中的数据显示该第一应用的主界面。

3、在上述实施例中,将第一应用的进程划分到多个进程分组中,其中包括第一进程分组和第二进程分组,第一进程分组中包括与该第一应用的主界面相关的第一进程,第二进程分组中包括第二进程。在该第一应用切换到后台且满足预设第一内存回收条件的情况下,即该第一应用在后台且内存紧张时,电子设备会清理该第二进程分组中进程的数据,而不清理该第一进程分组中进程的数据。因此,在将该第一应用切换到前台时,电子设备可以直接使用该第一进程分组中的进程在内存中的数据显示该第一应用的主界面。这样在进行内存清理后,对该第一应用热启动时,不需要重新在内存中生成显示该第一应用的主界面的第一进程的数据,而可以直接使用该第一进程分组中的第一进程在内存中的数据,极大的提升了应用热启动的速度。

4、结合第一方面的一些实施例,在一些实施例中,在该第一应用切换到后台且满足预设第一内存回收条件的情况下,该电子设备清理该第二进程分组中进程的数据的步骤之前,该方法还包括:在该第一应用切换到后台且满足预设第二内存回收条件的情况下,该电子设备以第一比例部分压缩内存中该第一进程分组中进程的数据,得到第一分组压缩内存数据和第一分组未压缩内存数据;该电子设备以第二比例部分压缩内存中该第二进程分组中进程的数据,得到第二分组压缩内存数据和第二分组未压缩内存数据;该第一比例大于该第二比例;该预设第二内存回收条件的要求低于该预设第一内存回收条件。

5、在上述实施例中,在满足预设第一内存回收条件清理内存之前,在满足要求更低的预设第二内存回收的情况下,电子设备可以先对内存中进程的数据进行压缩,然后在满足预设第一内存条件的情况下再清理内存。在对内存中进程的数据进程压缩时,电子设备可以采用不同的压缩比例对不同分组的进程的数据进行部分压缩:对该第一进程分组中进程的数据采用较高的压缩比例,对该第二进程分组中进程的数据采用较低的压缩比例。由于在内存回收时,会将第二进程分组中进程的数据清理掉,因此对其采用较低的压缩比例一方面节省了进行压缩的计算资源,另一方面又能降低内存空间的占用。而对于第一进程分组中进程的数据采用较高的压缩比例,极大的降低了内存空间的占用。

6、结合第一方面的一些实施例,在一些实施例中,该响应于将该第一应用切换到前台的操作,该电子设备通过该第一进程分组中的进程在内存中的数据显示该第一应用的主界面的步骤之前,该方法还包括:在满足预设第三内存回收条件的情况下,该电子设备将该第一分组压缩内存数据部分或全部转储到存储器件的交换空间中;该预设第三内存回收条件的要求高于该预设第一内存回收条件;该响应于将该第一应用切换到前台的操作,该电子设备通过该第一进程分组中的进程在内存中的数据显示该第一应用的主界面,具体包括:响应于将该第一应用切换到前台的操作,该电子设备从该存储器件的交换空间中读取该第一应用相关的数据解压缩到内存中,其中该第一应用相关的数据包括该第一分组压缩内存数据的部分或全部;该电子设备通过该第一进程分组中的进程在内存中的数据显示该第一应用的主界面。

7、在上述实施例中,可以将第一分组压缩内存数据部分或全部转储到存储器件的交换空间中,而不需要将第二分组压缩内存数据转储,极大的降低了读写交换空间的数据,提升了存储器件的寿命。且在热启动时,只需要读取交换空间中第一进程分组的数据加压到内存中即可显示该第一应用的主界面,提升了该第一应用热启动的速度。

8、结合第一方面的一些实施例,在一些实施例中,该第二进程分组中还包括该第一应用的第三进程;该电子设备清理该第二进程分组中进程的数据的步骤之后,该电子设备将该第一分组压缩内存数据部分或全部转储到存储器件的交换空间中的步骤之前,该方法还包括:在该电子设备确定该第二进程分组中的该第三进程还在运行且在内存中的数据未被清理的情况下,该电子设备将该第三进程调整到该第一进程分组中;该电子设备以第一比例部分压缩内存中该第一进程分组中进程的数据,得到第一分组压缩内存数据和第一分组未压缩内存数据,具体包括:该电子设备以该第一比例部分压缩内存中第一进程的数据和第三进程的数据,得到第一进程的压缩内存数据和第三进程的压缩内存数据作为该第一分组压缩内存数据,得到第一进程的未压缩内存数据和第三进程的未压缩内存数据作为该第一分组未压缩内存数据;该电子设备将该第一分组压缩内存数据部分或全部转储到存储器件的交换空间中,具体包括:该电子设备将该第一进程的压缩内存数据和第三进程的压缩内存数据部分或全部转储到存储器件的交换空间中。

9、在上述实施例中,在第二进程分组中有进程持续在运行,占用内存无法而被清理掉时,可以将其调整到第一进程分组中,这样可以对其进行内存压缩和转储,在保障持续运行的进程的数据完整的同时,降低了内存空间的占用。

10、结合第一方面的一些实施例,在一些实施例中,该第二进程分组中还包括该第一应用的第三进程;该电子设备将该第一分组压缩内存数据部分或全部转储到存储器件的交换空间中的步骤之后,该方法还包括:在该电子设备确定该第二进程分组中的该第三进程还在运行且在内存中的数据未被清理的情况下,该电子设备将该第三进程调整到该第一进程分组中;该电子设备将该第三进程在内存中部分压缩的数据部分或全部转储到存储器件的交换空间中。

11、在上述实施例中,在第二进程分组中有进程持续在运行,占用内存无法而被清理掉时,可以将其调整到第一进程分组中,这样可以对其进行内存压缩和转储,在保障持续运行的进程的数据完整的同时,降低了内存空间的占用。

12、结合第一方面的一些实施例,在一些实施例中,该电子设备以第一比例部分压缩内存中该第一进程分组中进程的数据时,采用预置第一压缩率;该电子设备以第二比例部分压缩内存中该第二进程分组中进程的数据时,采用预置第二压缩率;该预置第一压缩率与该与预置第二压缩率相同或不同。

13、在上述实施例中,在对不同分组的进程进行压缩时,可以采用不同的压缩率,在提升电子设备热启动的速度的同时,进一步降低了进程的数据对内存的占用。

14、结合第一方面的一些实施例,在一些实施例中,该方法还包括:该电子设备根据已安装应用的应用信息,确定已安装应用的主进程的名称;保存已安装的应用与其主进程的对应关系到应用与主进程对应表中,其中包括该第一应用与该第一进程的对应关系;在该第一应用运行的情况下,该电子设备根据该应用与主进程对应表,将该第一进程划分到该第一进程分组中,将该第一应用的其他进程划分到该第二进程分组中。

15、在上述实施例中,电子设备可以通过已安装的应用信息确定第一应用的主进程的名称,将其自动划分到第一进程分组中,并将该第一应用的其他进程划分到第二进程分组中,提升了对进程的应用分组的效率。

16、结合第一方面的一些实施例,在一些实施例中,该方法还包括:在确定该第二进程分组中的第四进程符合预设第一条件时,该电子设备将该第四进程调整到该第一进程分组中,该第四进程为该第二进程分组中的任一个进程;在确实该第一进程分组中的第五进程符合预设第二条件时,该电子设备将该第五进程调整到该第二进程分组中,该第五进程为该第一进程分组中的任一个进程。

17、在上述实施例中,电子设备可以根据应用进程的进程状态是否符合预设第一条件和预设第二条件,将该进程在第一进程分组和第二进程分组之间调整,提升了进程分组的灵活性,在保障应用正常运行的同时,降低了应用对内存的占用。

18、第二方面,本技术实施例提供了一种电子设备,该电子设备包括:一个或多个处理器和存储器;该存储器与该一个或多个处理器耦合,该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令;该存储器还存储有第一应用,该第一应用包括第一进程和第二进程,该第一进程属于该第一应用的第一进程分组,该第二进程属于该第一应用的第二进程分组,该第一进程为与该第一应用的主界面相关的进程;该一个或多个处理器调用该计算机指令以使得该电子设备执行:在该第一应用切换到后台且满足预设第一内存回收条件的情况下,清理该第二进程分组中进程的数据;响应于将该第一应用切换到前台的操作,通过该第一进程分组中的进程在内存中的数据显示该第一应用的主界面。

19、结合第二方面的一些实施例,在一些实施例中,该一个或多个处理器,还用于调用该计算机指令以使得该电子设备执行:在该第一应用切换到后台且满足预设第二内存回收条件的情况下,以第一比例部分压缩内存中该第一进程分组中进程的数据,得到第一分组压缩内存数据和第一分组未压缩内存数据;以第二比例部分压缩内存中该第二进程分组中进程的数据,得到第二分组压缩内存数据和第二分组未压缩内存数据;该第一比例大于该第二比例;该预设第二内存回收条件的要求低于该预设第一内存回收条件。

20、结合第二方面的一些实施例,在一些实施例中,该一个或多个处理器,还用于调用该计算机指令以使得该电子设备执行:在满足预设第三内存回收条件的情况下,将该第一分组压缩内存数据部分或全部转储到存储器件的交换空间中;该预设第三内存回收条件的要求高于该预设第一内存回收条件;该一个或多个处理器,具体用于调用该计算机指令以使得该电子设备执行:响应于将该第一应用切换到前台的操作,从该存储器件的交换空间中读取该第一应用相关的数据解压缩到内存中,其中该第一应用相关的数据包括该第一分组压缩内存数据的部分或全部;通过该第一进程分组中的进程在内存中的数据显示该第一应用的主界面。

21、结合第二方面的一些实施例,在一些实施例中,该第二进程分组中还包括该第一应用的第三进程;该一个或多个处理器,还用于调用该计算机指令以使得该电子设备执行:在确定该第二进程分组中的该第三进程还在运行且在内存中的数据未被清理的情况下,将该第三进程调整到该第一进程分组中;该一个或多个处理器,具体用于调用该计算机指令以使得该电子设备执行:以该第一比例部分压缩内存中第一进程的数据和第三进程的数据,得到第一进程的压缩内存数据和第三进程的压缩内存数据作为该第一分组压缩内存数据,得到第一进程的未压缩内存数据和第三进程的未压缩内存数据作为该第一分组未压缩内存数据;将该第一进程的压缩内存数据和第三进程的压缩内存数据部分或全部转储到存储器件的交换空间中。

22、结合第二方面的一些实施例,在一些实施例中,该第二进程分组中还包括该第一应用的第三进程;该一个或多个处理器,还用于调用该计算机指令以使得该电子设备执行:在确定该第二进程分组中的该第三进程还在运行且在内存中的数据未被清理的情况下,将该第三进程调整到该第一进程分组中;将该第三进程在内存中部分压缩的数据部分或全部转储到存储器件的交换空间中。

23、结合第二方面的一些实施例,在一些实施例中,该一个或多个处理器,具体用于调用该计算机指令以使得该电子设备执行:在以第一比例部分压缩内存中该第一进程分组中进程的数据时,采用预置第一压缩率;在以第二比例部分压缩内存中该第二进程分组中进程的数据时,采用预置第二压缩率;该预置第一压缩率与该与预置第二压缩率相同或不同。

24、结合第二方面的一些实施例,在一些实施例中,该一个或多个处理器,还用于调用该计算机指令以使得该电子设备执行:根据已安装应用的应用信息,确定已安装应用的主进程的名称;保存已安装的应用与其主进程的对应关系到应用与主进程对应表中,其中包括该第一应用与该第一进程的对应关系;在该第一应用运行的情况下,根据该应用与主进程对应表,将该第一进程划分到该第一进程分组中,将该第一应用的其他进程划分到该第二进程分组中。

25、结合第二方面的一些实施例,在一些实施例中,该一个或多个处理器,还用于调用该计算机指令以使得该电子设备执行:在确定该第二进程分组中的第四进程符合预设第一条件时,将该第四进程调整到该第一进程分组中,该第四进程为该第二进程分组中的任一个进程;在确实该第一进程分组中的第五进程符合预设第二条件时,将该第五进程调整到该第二进程分组中,该第五进程为该第一进程分组中的任一个进程。

26、第三方面,本技术实施例提供了一种芯片系统,该芯片系统应用于电子设备,该芯片系统包括一个或多个处理器,该处理器用于调用计算机指令以使得该电子设备执行如第一方面以及第一方面中任一可能的实现方式描述的方法。

27、第四方面,本技术实施例提供一种包含指令的计算机程序产品,当上述计算机程序产品在电子设备上运行时,使得上述电子设备执行如第一方面以及第一方面中任一可能的实现方式描述的方法。

28、第五方面,本技术实施例提供一种计算机可读存储介质,包括指令,当上述指令在电子设备上运行时,使得上述电子设备执行如第一方面以及第一方面中任一可能的实现方式描述的方法。

29、可以理解地,上述第二方面提供的电子设备、第三方面提供的芯片系统、第四方面提供的计算机程序产品和第五方面提供的计算机存储介质均用于执行本技术实施例所提供的方法。因此,其所能达到的有益效果可参考对应方法中的有益效果,此处不再赘述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1