一种启动应用程序的方法及终端技术

技术编号:14930672 阅读:60 留言:0更新日期:2017-03-31 12:33
本发明专利技术实施例公开了一种启动应用程序的方法及终端,所述方法包括若检测到启动应用程序的请求,从预存的数据库中获取启动应用程序的预估消耗内存;获取当前系统的剩余内存以及预存的临界内存;计算剩余内存与临界内存的差值;判断差值是否小于应用程序的预估消耗内存;若小于应用程序的预估消耗内存,根据预设规则结束当前后台部分进程来回收内存直至使剩余内存与临界内存的差值不小于预估消耗内存;若的差值不小于所述预估消耗内存,启动应用程序,进而实现了检测当前是否需要回收内存以满足当前被启动的应用程序的内存需求,既可以为被启动的应用程序提供内存,还可以防止内存空闲时部分后台应用功能散失。

【技术实现步骤摘要】

本专利技术涉及电子
,尤其涉及一种启动应用程序的方法及终端
技术介绍
随着电子产品的不断发展,便携式电子设备已经变成用户生活中不可缺少的一部分,尤其是手机成为了人手必备的设备。由于现在的应用越来越丰富,因此对电子设备的内存需求也越来也高。例如手机的内存较低时,再启动一个大应用,就容易出现卡顿以及黑屏,甚至崩溃。现有技术为了解决内存不足的问题,常监控应用程序的使用情况,根据用户的使用信息,定时将不常用的应用或者占用较大的应用退出以增加系统的剩余内存,但是这样容易在内存空闲的时候仍然将一些后台应用退出,导致部分后台应用的功能比较容易散失。
技术实现思路
本专利技术实施例提供一种启动应用程序的方法及终端,可以通过在启动应用程序时先检测当前系统内存是否满足当前被启动的应用程序的启动需求来判断当前是否需要回收内存,并防止内存空闲时部分后台应用功能散失。第一方面,本专利技术实施例提供了一种启动应用程序的方法,所述方法包括:若检测到启动应用程序的请求,从预存的数据库中获取启动应用程序的预估消耗内存,数据库用于预存应用程序的预估消耗内存;获取当前系统的剩余内存以及预存的临界内存,临界内存为系统触发低内存回收机制时的内存阈值;计算剩余内存与临界内存的差值;判断差值是否小于应用程序的预估消耗内存;若小于应用程序的预估消耗内存,根据预设规则结束当前后台部分进程来回收内存直至使剩余内存与临界内存的差值不小于预估消耗内存;若所述剩余内存与所述临界内存的差值不小于所述预估消耗内存,启动应用程序。另一方面,本专利技术实施例提供了一种终端,该终端包括:第一获取单元、第二获取单元、计算单元、判断单元、回收单元以及启动单元,其中,第一获取单元,用于若检测到启动应用程序的请求,从预存的数据库中获取启动应用程序的预估消耗内存,数据库用于预存应用程序的预估消耗内存;第二获取单元,用于获取当前系统的剩余内存以及预存的临界内存,临界内存为系统触发低内存回收机制时的内存阈值;计算单元,用于计算剩余内存与临界内存的差值;判断单元,用于判断差值是否小于应用程序的预估消耗内存;回收单元,用于若判断单元判断出差值小于应用程序的预估消耗内存,根据预设规则结束当前后台部分进程来回收内存直至使剩余内存与临界内存的差值不小于预估消耗内存;启动单元,用于启动应用程序。本专利技术实施例所公开的一种启动应用程序的方法和终端通过若检测到启动应用程序的请求,从预存的数据库中获取启动应用程序的预估消耗内存;获取当前系统的剩余内存以及预存的临界内存,临界内存为系统触发低内存回收机制时的内存阈值;计算剩余内存与临界内存的差值;判断差值是否小于应用程序的预估消耗内存;若小于应用程序的预估消耗内存,根据预设规则结束当前后台部分进程来回收内存直至使剩余内存与临界内存的差值不小于预估消耗内存;若所述剩余内存与所述临界内存的差值不小于所述预估消耗内存,启动应用程序,进而实现了启动应用程序时,先检测当前是否需要回收内存以满足当前被启动的应用程序的内存需求,因此可以为被启动的应用程序提供内存,还可以防止内存空闲时部分后台应用功能散失。附图说明为了更清楚地说明本专利技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种启动应用程序的方法的示意性流程图;图2是本专利技术实施例提供的一种启动应用程序的方法的部分示意流程图;图3是本专利技术实施例提供的一种终端的第一实施例的示意性框图;图4是图3中的一种回收单元的示意性框图;图5是本专利技术实施例提供的一种终端的第二实施例的示意性框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或若干个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。还应当理解,在此本专利技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本专利技术。如在本专利技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。本专利技术实施例提供的一种启动应用程序的方法应用于终端,终端包括但是不限制于任何一种可与用户进行人机交互的电子产品,例如智能手机(如Android手机、ios手机、WindowsPhone手机等)、平板电能、掌上电能、笔记本电脑、移动互联网设备等。以上电子设备仅是举例,而非穷举,本专利技术实施例提供的终端包括但是不限制于上述电子设备。请看图1,是本专利技术实施例提供的一种启动应用程序的方法的示意性流程图,如图所示,所述方法包括如下S101~S115:S101,若检测到启动应用程序的请求,从预存的数据库中获取启动应用程序的预估消耗内存,数据库用于预存应用程序的预估消耗内存。具体的,数据库中预存有终端上应用程序的预估消耗内存,预估消耗内存用于表示预估启动应用程序的内存消耗。本专利技术实施例中第一次启动应用程序时,应用程序对应的预估消耗内存为一个预设值,该预设值是根据应用程序的大小设定;非第一次启动应用程序时,一个应用程序对应的预估消耗内存是根据记录的每次启动同一应用程序实际消耗的内存相关。因此应当理解,每一次启动应用程序时,将会记录启动该应用程序过程中实际消耗的内存,并根据记录的实际消耗内存更新数据库中的该应用程序的预估消耗内存。本实施例中优选,非第一次被启动的应用程序对应的预估消耗内存为记录的每次启动该应用程序过程实际消耗内存的平均值。因此还应当理解,每个应用程序对应的预估消耗内存是动态数值,且随着应用程序启动的次数增加,预估消耗内存的准预存准确性将不断提高。S103,获取当前系统的剩余内存以及预存的临界内存,临界内存为系统触发低内存回收机制时的内存阈值。具体的,当系统内存较少,启动应用程序时若无法一次性申请到足够的内存,应用程序的线程将被暂停,需要等待系统触发低内存回收机制来回收内存,低内存回收机制LMK(LowMemoryKiller)为系统内存低于对应阈值时,将会触发自动结束后台进程来回收内存。需要说明的是,预存的临界内存的数值大小是预先设置的,具体可以是根据实验实践经验而设置,在一些可行的实施例中,系统的临界内存的数值大小是固定的。还需要说明的是,由于系统启动低内存回收机制时,将会使linux内核(linuxkernel)的kswap进程的CPU使用率提升到一个较高的状态,导致linux内核任务增加变忙碌,进而影响应用内存的分配任务,导致内存分配效率降低,降低了启动应用程序的速率。因此为了提高启动应用程序速率,应当避免启动应用程序时启动低内存回收机制。还需要说明的是,本专利技术实施例中临界内存为触发低内存回收机制时的内存阈值。即系统剩余内存低于临界内存时,将触发低内存回收本文档来自技高网...
一种启动应用程序的方法及终端

【技术保护点】
一种启动应用程序的方法,其特征在于,包括:若检测到启动应用程序的请求,从预存的数据库中获取启动所述应用程序的预估消耗内存,所述数据库用于预存所述应用程序的预估消耗内存;获取当前系统的剩余内存以及预存的临界内存,所述临界内存为系统触发低内存回收机制时的内存阈值;计算所述剩余内存与所述临界内存的差值;判断所述差值是否小于所述应用程序的预估消耗内存;若小于所述应用程序的预估消耗内存,根据预设规则结束当前后台部分进程来回收内存直至使所述剩余内存与所述临界内存的差值不小于所述预估消耗内存;若所述剩余内存与所述临界内存的差值不小于所述预估消耗内存,启动所述应用程序。

【技术特征摘要】
1.一种启动应用程序的方法,其特征在于,包括:若检测到启动应用程序的请求,从预存的数据库中获取启动所述应用程序的预估消耗内存,所述数据库用于预存所述应用程序的预估消耗内存;获取当前系统的剩余内存以及预存的临界内存,所述临界内存为系统触发低内存回收机制时的内存阈值;计算所述剩余内存与所述临界内存的差值;判断所述差值是否小于所述应用程序的预估消耗内存;若小于所述应用程序的预估消耗内存,根据预设规则结束当前后台部分进程来回收内存直至使所述剩余内存与所述临界内存的差值不小于所述预估消耗内存;若所述剩余内存与所述临界内存的差值不小于所述预估消耗内存,启动所述应用程序。2.根据权利要求1所述方法,其特征在于,非第一次被启动的应用程序对应的所述预估消耗内存是记录的每次启动所述应用程序过程实际消耗内存的平均值,所述启动所述应用程序之后,所述方法还包括:记录当前启动所述应用程序的实际消耗内存;根据记录的所述实际消耗内存修改并更新预存的数据库中所述应用程序的预估消耗内存,修改后的所述预估消耗内存为记录的当前启动所述应用程序的实际消耗内存和记录的此前每次启动所述应用程序的实际消耗内存的平均值。3.根据权利要求1所述的方法,其特征在于,所述启动所述应用程序之后,所述方法还包括:判断启动所述应用程序过程是否发生了卡顿;若发生卡顿,记录卡顿时长;若卡顿时长超过预设时长,判断启动同一所述应用程序时卡顿时长超过预设时长的频率是否超过了预设频率;若超过了预设频率,根据记录的每次超过预设时长的卡顿时长修改并更新所述应用程序的预估消耗内存,修改后的所述预估消耗内存大于原预估消耗内存。4.根据权利要求1所述的方法,其特征在于,所述根据预设规则结束当前后台部分进程来回收内存直至使所述剩余内存与所述临界内存的差值不小于所述预估消耗内存,具体包括:减小后台最大进程数;根据减小后的所述最大进程数结束当前后台部分进程,使当前后台进程数小于或等于所述最大进程数。5.根据权利要求4所述的方法,其特征在于,若所述预设规则为根据当前后台进程的启动时间的先后顺序来回收内存,所述根据减小后的所述最大进程数结束当前后台部分进程,具体包括:按照当前后台进程的启动时间的先后顺序结束进程。6.一种终端,其特征在于,所述终端包括:第一获取单元,用于若检测到启动应用程序的请求,从预存的数据库...

【专利技术属性】
技术研发人员:徐少华刘然
申请(专利权)人:深圳市金立通信设备有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1