程序获取当前可用的内存值;
[0083]在步骤S402中,根据当前可用的内存值为资源分配临时内存值。
[0084]在该实施例中,应用程序会根据系统当前运行的内存情况进行临时内存的分配,从而保证系统的正常运行。
[0085]如图5所示,在一个实施例中,上述方法还包括步骤S501-S502:
[0086]在步骤S501中,接收输入的预设比值设置命令;
[0087]在步骤S502中,根据预设比值设置命令设置预设比值。
[0088]在该实施例中,用户还可以根据经验自己设置预设比值,从而保证在合适的时候启动GC,因为如果提前启动GC,因为GC本身也是耗资源的,会加大系统的消耗。如果延后启动GC,则导致下载不流畅。因此,设置合适的预设比值,可以保证下载过程可以流畅进行。
[0089]其中,每个应用程序最大占用内存值为一动态值-计算公式为:
[0090]IntmaxMemory(终端设备的当前最大占用内存值)=((int)Runtime.getRuntime().maxMemoryO )/1024/1024;
[0091 ]临时内存值也就是当前应用程序获取到的内存值,计算公式为:
[0092] long totalGetMemory =((int)Runtime.getRuntime().totaIMemory())/1024/1024;
[0093 ]临时内存值占每个应用程序最大占用内存值的百分比为:
[0094]Int maxPercent = totalGetMemory/maxMemory
[0095]临时内存值中的未使用内存值为:
[0096]long freeMemory = ((int)Runtime.getRuntime0.freeMemory())/1024/1024;
[0097]临时内存值的已使用比率为:
[0098]int UsingMemoryPercent=(totalGetMemory-freeMemory)/totalGetMemory
[0099]下述为本公开装置实施例,可以用于执行本公开方法实施例。
[0100]图6是根据一示例性实施例示出的一种下载管理装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为终端设备的部分或者全部。如图6所示,该下载管理装置包括:
[0101]分配模块61,用于当应用程序进行资源下载时,控制应用程序为资源分配临时内存值;
[0102 ]第一获取模块62,用于获取应用程序在终端设备中的最大占用内存值;
[0103]第一计算模块63,用于计算临时内存值与最大占用内存值之间的比值;
[0104]比较模块64,用于将比值与预设比值进行比较;
[0105]回收模块65,用于在比值大于或等于预设比值时,启动垃圾收集功能,以对应用程序对应的垃圾资源进行回收。
[0106]如图7所示,在一个实施例中,上述装置还包括:
[0107]第二获取模块71,用于在将比值与预设比值进行比较之前,获取临时内存值中的未使用内存值;
[0108]第二计算模块72,用于根据未使用内存值和临时内存值计算得到已使用内存值;
[0109]第三计算模块73,用于计算已使用内存值和临时内存值之间的已使用比率;
[0110]确定模块74,用于根据已使用比率确定预设比值。
[0111]如图8所示,在一个实施例中,确定模块74包括:
[0112]第一获取子模块81,用于获取已使用比率的峰值;
[0113]确定子模块82,用于将已使用比率的峰值确定为预设比值。
[0? Μ]如图9所不,在一个实施例中,分配模块61包括:
[0115]第二获取子模块91,用于控制对应的应用程序获取当前可用的内存值;
[0116]分配子模块92,用于根据当前可用的内存值为资源分配临时内存值。
[0117]如图10所示,在一个实施例中,上述装置还包括:
[0118]接收模块101,用于接收输入的预设比值设置命令;
[0119]设置模块102,用于根据预设比值设置命令设置预设比值。
[0120]关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0121]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0122]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0123]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0124]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0125]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【主权项】
1.一种下载管理方法,用于终端设备,其特征在于,包括: 当应用程序进行资源下载时,控制所述应用程序为所述资源分配临时内存值; 获取所述应用程序在所述终端设备中的最大占用内存值; 计算所述临时内存值与所述最大占用内存值之间的比值; 将所述比值与预设比值进行比较; 在所述比值大于或等于所述预设比值时,启动垃圾收集功能,以对所述应用程序对应的垃圾资源进行回收。2.根据权利要求1所述的方法,其特征在于,所述在将所述比值与预设比值进行比较之前,所述方法还包括: 获取所述临时内存值中的未使用内存值; 根据所述未使用内存值和所述临时内存值计算得到已使用内存值; 计算所述已使用内存值和所述临时内存值之间的已使用比率; 根据所述已使用比率确定所述预设比值。3.根据权利要求2所述的方法,其特征在于,所述根据所述已使用比率确定所述预设比值,包括: 获取所述已使用比率的峰值; 将所述已使用比率的峰值确定为所述预设比值。4.根据权利要求1所述的方法,其特征在于,所述控制对应的应用程序为所述资源分配临时内存值,包括: 控制对应的应用程序获取当前可用的内存值; 根据所述当前可用的内存值为所述资源分配所述临时内存值。5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括: 接收输入的预设比值设置命令; 根据所述预设比值设置命令设置所述预设比值。6.一种下载管理装置,用于终端设备,其特征在于,包括: 分配模块,用于当应用程序进行资源下载时,控制所述应用程序为所述资源分配临时内存值; 第一获取模块,用于获取所述应用程序在所述终端设备中的最大占用内存值; 第一计算模块,用于计算所述临时内存值与所述最大占用内存值之间的比值; 比较模块,用于将所述比值与预设比值进行比较; 回收模块,用于在所述比值大于或等于所述预设比值时,启动垃圾收集功能,以对所述应用程序对应的垃圾资源进行回收。7.根据权利要求6所述的装置,其特征在于,所述装置还包括: 第二获取模块,用于在将所述比值与预设比值进行比较之前,获取所述临时内存值中的未使用内存值; 第二计算模块,用于根据所述未使用内存值和所述临时内存值计算得到已使用内存值; 第三计算模块,用于计算所述已使用内存值和所述临时内存值之间的已使用比率; 确定模块,用于根据所述已使用比率确定所述预设比值。8.根据权利要求7所述的装置,其特征在于,所述确定模块包括:第一获取子模块,用于获取所述已使用比率的峰值;确定子模块,用于将所述已使用比率的峰值确定为所述预设比值。9.根据权利要求6所述的装置,其特征在于,所述分配模块包括:获取子模块,用于控制对应的应用程序获取当前可用的内存值;分配子模块,用于根据所述当前可用的内存值为所述资源分配所述临时内存值。10.根据权利要求6至9中任一项所述的装置,其特征在于,所述装置还包括:接收模块,用于接收输入的预设比值设置命令;设置模块,用于根据所述预设比值设置命令设置所述预设比值。
【专利摘要】本发明是关于一种下载管理方法及装置,其中,方法包括:当应用程序进行资源下载时,控制所述应用程序为所述资源分配临时内存值;获取所述应用程序在所述终端设备中的最大占用内存值;计算所述临时内存值与所述最大占用内存值之间的比值;将所述比值与预设比值进行比较;在所述比值大于或等于所述预设比值时,启动垃圾收集功能,以对所述应用程序对应的垃圾资源进行回收。通过该技术方案,可以保证下载过程可以流畅进行,避免内存负载过大而影响下载速度,导致下载出现卡顿。
【IPC分类】G06F9/50, G06F9/445
【公开号】CN105607924
【申请号】CN201510945951
【发明人】赵少雷
【申请人】天脉聚源(北京)传媒科技有限公司
【公开日】2016年5月25日
【申请日】2015年12月16日