一种限制应用内存占用的方法、装置及终端的制作方法_2

文档序号:9288331阅读:来源:国知局
安装应用前,会首先获取终端当前的剩余内存值,而在安装应用后,再获取应用运行消耗内存值,得到消耗内存值占剩余内存值的比例,当比例小于预设阈值,结束流程;当比例大于预设阈值,对应用的资源包进行裁剪处理,使经裁剪处理后的应用运行时所消耗的内存值降低,并根据裁剪处理后的资源包,重新安装应用。当然,重新安装应用后,还是需要获取应用运行消耗内存值,得到消耗内存值占剩余内存值的比例,只有当比例小于预设阈值,结束流程;若比例还大于预设阈值,继续对应用的资源包进行裁剪处理,使经裁剪处理后的应用运行时所消耗的内存值降低,并根据裁剪处理后的资源包,重新安装应用。这样,本方案就实现了根据终端的内存与应用运行消耗内存来限制应用内存占用,对应用的资源包进行裁剪,达到了保证应用的流畅运行的目的。
[0048]为了保证应用资源包在裁剪处理后应用能够流畅运行,在本发明实施例的限制应用内存占用的方法中,步骤13包括:
[0049]步骤131a,获得预设时间段内统计得到的所述终端安装的所有应用的使用频率,依据所获得的使用频率,判断当前用户类型,用户类型包括游戏用户和浏览用户,其中,使用频率最高的应用所属类型为当前用户类型;
[0050]其中,所述游戏用户是指经常使用所述终端上的应用来玩游戏的用户,浏览用户是指经常使用所述终端上的应用来浏览图片、新闻等信息的用户。故,在本步骤中,在获得预设时间段内统计得到的所述终端安装的所有应用的使用频率后,就可通过使用频率最高的应用所属类型判断当前用户类型,例如,用户使用频率最高的应用的所属类型是游戏应用,那么当前用户为游戏用户;若使用频率最高的应用是一浏览器,所属类型是浏览应用,那么当前用户为浏览用户。而且,还可以通过总使用频率最高的一类应用的所属类型判断当前用户类型,例如,用户的所有应用分为游戏类应用和浏览类应用,而游戏类应用的总使用频率最高,那么当前用户为游戏用户。
[0051]步骤132a,根据所述用户类型,获取对应的预设预期内存值;
[0052]本发明实施例中,预先针对不用的用户类型,设置应用的预期内存值。例如,针对游戏用户,设置第一内存值;针对浏览用户,设置第二内存值。通常,第一内存值大于第二内存值。在本步骤中,可以根据所确定的用户类型,查找为该用户类型预先设置的预期内存值,获得所述预设预期内存值。
[0053]步骤133a,对所述应用进行裁剪处理,直至达到所述预设预期内存值。
[0054]当然,除了通过用户类型来判断确定裁剪处理的预期内存值,还能够针对应用的自身类型来确定,步骤13包括:
[0055]步骤131b,获取所述应用的自身类型,所述自身类型包括游戏类型应用和浏览类型应用;
[0056]一个应用本身可以具有预先定义的类型,该类型信息可以包含在应用的资源包中。本发明实施例中,可以通过解析该应用的资源包,获得该应用的具体类型,如游戏类型或浏览类型。
[0057]步骤132b,根据所述应用的所述自身类型,获取对应的预设预期内存值;
[0058]同样的,本发明实施例中,也可预先针对不用的应用类型,设置应用的预期内存值。例如,针对游戏类型应用,设置第三内存值;针对浏览类型应用,设置第四内存值。通常,第三内存值大于第四内存值。在本步骤中,可以根据所确定的应用的自身类型,查找为该应用类型预先设置的预期内存值,获得所述预设预期内存值。
[0059]步骤133b,对所述应用进行裁剪处理,直至达到所述预设预期内存值。
[0060]本发明的实施例中,除了通过上述两种方法来获取一预期内存值,对应用进行裁剪处理,直至达到该预期内存值,还可以通过获取预设时间段内统计得到的所述终端安装的多类应用的数量,就可通过安装数量最高的一类应用的所属类型判断当前用户类型,例如,用户安装数量最高的一类应用的所属类型是游戏应用,那么当前用户为游戏用户;若使用频率最高的应用是一浏览器,所属类型是浏览应用,那么当前用户为浏览用户。然后,可以根据所述用户类型,获取对应的预设预期内存值;再对所述应用进行裁剪处理,直至达到所述预设预期内存值。
[0061]在上述的方法中,确定预期内存值后,就需要对所述应用进行裁剪处理,直至达到所述预设预期内存值,这一步骤133a/133b包括:
[0062]步骤1331,根据预先设置的针对不同裁剪对象的优先级,按照优先级顺序对裁剪对象进行裁剪处理,直至达到所述预设预期内存值。
[0063]其中,所述裁剪对象包括所述应用的应用资源包中包含的图像的分辨率和色彩丰
[-fV*_度。
[0064]其中,所述裁剪处理包括:降低所述应用的应用资源包中包含的图像的分辨率,和/或减少所述应用的应用资源包中包含的图像的色彩丰富度。
[0065]例如:降低分辨率为高优先级,而降低色彩丰富度为较低的优先级,那么当安装的应用需要进行裁剪处理时,优先尝试降低图像分辨率,看是否能够满足内存限制的要求,若不能满足,则尝试降低色彩丰富度,直至满足内存限制的要求。
[0066]当然,预先设置默认裁剪对象的优先级,按照优先级别针对裁剪对象进行裁剪处理仅是本发明实施例的一种实现方式,也可以通过检测用户对裁剪处理的选择,按照用户的选择针对对应的裁剪对象进行裁剪处理,直至达到所述预期裁剪内存值。例如:若用户对色彩要求较高,则可以选择只通过降低分辨率来进行裁剪处理;若用户对显示清晰度有要求,则可以选择只通过降低色彩丰富度来进行裁剪处理。
[0067]其中,降低分辨率可以通过获取终端当前的分辨率,降低应用资源包图像分辨率低于当前终端的分辨率,例如,当前终端支持高精度分辨率,则可以将应用资源包的图像分辨率降为中精度分辨率,或更低精度的分辨率。降低色彩丰富度,即将资源包中的彩色图像转换成只有黑色和白色的图像。
[0068]在本发明的实施例中,如果获得权限,裁剪处理还可以通过对应用的资源包进行反编译处理,识别相关的申请内存的代码,对相应大小进行调整。
[0069]综上,本发明实施例的限制应用内存占用的方法可以根据终端的内存与应用运行消耗内存来限制应用内存占用,对应用的资源包进行裁剪,保证应用的流畅运行。
[0070]如图2所示,本发明实施例还提供了一种限制应用内存占用的装置,包括:
[0071]第一获取模块10,用于在安装待安装应用之前,获取终端当前的剩余内存值;
[0072]第二获取模块20,用于安装所述应用,并在安装所述应用后获取所述应用运行的消耗内存值;
[0073]第一处理模块30,用于获取所述消耗内存值占所述剩余内存值的比例,当所述比例小于预设阈值,结束流程;当所述比例大于所述预设阈值,对所述应用的资源包进行裁剪处理,使经所述裁剪处理后的所述应用运行时所消耗的内存值降低,并根据裁剪处理后的所述资源包,重新安装所述应用。
[0074]其中,所述第一处理模块包括:
[0075]第一判断子模块,用于获得预设时间段内统计得到的所述终端安装的所有应用的使用频率,依据所获得的使用频率,判断当前用户类型,用户类型包括游戏用户和浏览用户,其中,使用频率最高的应用所属类型为当前用户类型;
[0076]第一获取子模块,用于根据所述用户类型,获取对应的预设预期内存值;<
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1