《一种内存使用状况的反馈方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种内存使用状况的反馈方法及装置.pdf(20页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103927230 A (43)申请公布日 2014.07.16 CN 103927230 A (21)申请号 201410113699.2 (22)申请日 2014.03.25 G06F 9/50(2006.01) (71)申请人 优视科技有限公司 地址 100080 北京市海淀区苏州街 29 号维 亚大厦 16 层 10-20 室 (72)发明人 曾锦和 (74)专利代理机构 北京弘权知识产权代理事务 所 ( 普通合伙 ) 11363 代理人 逯长明 陈蕾 (54) 发明名称 一种内存使用状况的反馈方法及装置 (57) 摘要 本发明实施例公开了一种内存使用状况的反。
2、 馈方法及装置, 该方法包括 : 检测应用软件在移 动终端中的内存占用值和移动终端的内存剩余 值 ; 计算内存占用值与内存峰值的比值作为应用 软件的内存占用率, 内存峰值为内存占用值与内 存剩余值之和 ; 判断内存占用率是否大于阈值 ; 当内存占用率大于阈值时, 向应用软件发送释放 内存的指令 ; 当内存占用率小于等于阈值时, 向 应用软件发送申请内存的指令。本发明实施例提 供的方案不仅能够保证应用软件在移动终端上稳 定运行, 而且提高了应用软件对内存的利用率, 进 而提高用户的使用体验。 (51)Int.Cl. 权利要求书 3 页 说明书 12 页 附图 4 页 (19)中华人民共和国国家知。
3、识产权局 (12)发明专利申请 权利要求书3页 说明书12页 附图4页 (10)申请公布号 CN 103927230 A CN 103927230 A 1/3 页 2 1. 一种内存使用状况的反馈方法, 其特征在于, 包括 : 检测应用软件在移动终端中的内存占用值和所述移动终端的内存剩余值 ; 计算所述内存占用值与内存峰值的比值作为所述应用软件的内存占用率, 所述内存峰 值为所述内存占用值与所述内存剩余值之和 ; 判断所述内存占用率是否大于阈值 ; 当所述内存占用率大于所述阈值时, 向所述应用软件发送释放内存的指令 ; 当所述内存占用率小于等于所述阈值时, 向所述应用软件发送申请内存的指令。 。
4、2. 根据权利要求 1 所述的内存使用状况的反馈方法, 其特征在于, 在检测应用软件在 移动终端中的内存占用值和所述移动终端的内存剩余值之后, 在计算所述内存占用值与内 存峰值的比值作为所述应用软件的内存占用率之前, 还包括 : 判断所述内存峰值是否大于等于最大内存峰值 ; 所述最大内存峰值为在所述应用软件 本次运行过程中所出现的最大一次的内存峰值 ; 当所述内存峰值大于等于所述最大内存峰值时, 执行所述计算所述内存占用值与内存 峰值的比值作为所述应用软件的内存占用率的步骤 ; 当所述内存峰值小于所述最大内存峰值时, 将所述最大内存峰值作为所述内存峰值, 并执行所述计算所述内存占用值与内存峰值。
5、的比值作为所述应用软件的内存占用率的步 骤。 3. 根据权利要求 1 所述的内存使用状况的反馈方法, 其特征在于, 在检测应用软件在 移动终端中的内存占用值和所述移动终端的内存剩余值之后, 在计算所述内存占用值与内 存峰值的比值作为所述应用软件的内存占用率之前, 还包括 : 判断所述内存峰值是否大于等于平均内存峰值 ; 所述平均内存峰值为在所述应用软件 多次运行过程中每次最大内存峰值之和的平均值, 所述最大内存峰值为在所述应用软件本 次运行过程中所出现的最大一次的内存峰值 ; 当所述内存峰值大于等于所述平均内存峰值时, 执行所述计算所述内存占用值与内存 峰值的比值作为所述应用软件的内存占用率的。
6、步骤 ; 当所述内存峰值小于所述平均内存峰值时, 将所述平均内存峰值与所述内存峰值的平 均值作为所述内存峰值, 并执行所述计算所述内存占用值与内存峰值的比值作为所述应用 软件的内存占用率的步骤。 4. 根据权利要求 1 所述的内存使用状况的反馈方法, 其特征在于, 所述向应用软件发 送释放内存的指令包括以下子步骤 : 判断所述内存占用率是否大于所述第一临界值 ; 所述第一临界值大于所述阈值 ; 当所述内存占用率大于所述第一临界值时, 向所述应用软件发送释放第一预设数量内 存的指令 ; 当所述内存占用率小于等于所述第一临界值时, 向所述应用软件发送释放第二预设数 量内存的指令 ; 所述第一预设数。
7、量内存大于所述第二预设数量内存。 5. 根据权利要求 1 所述的内存使用状况的反馈方法, 其特征在于, 所述向应用软件发 送申请内存的指令包括以下子步骤 : 判断所述内存占用率是否大于所述第二临界值 ; 所述第二临界值小于所述阈值 ; 权 利 要 求 书 CN 103927230 A 2 2/3 页 3 当所述内存占用率大于所述第二临界值时, 向所述应用软件发送申请第三预设数量内 存的指令 ; 当所述内存占用率小于等于所述第二临界值时, 向所述应用软件发送申请第四预设数 量内存的指令 ; 所述第三预设数量内存小于所述第四预设数量内存。 6. 一种内存使用状况的反馈装置, 其特征在于, 包括 :。
8、 检测模块, 用于检测应用软件在移动终端中的内存占用值和所述移动终端的内存剩余 值 ; 计算模块, 用于计算所述内存占用值与内存峰值的比值作为所述应用软件的内存占用 率, 所述内存峰值为所述内存占用值与所述内存剩余值之和 ; 第一判断模块, 用于判断所述内存占用率是否大于阈值 ; 第一发送模块, 用于在所述第一判断模块判断出所述内存占用率大于所述阈值时, 向 所述应用软件发送释放内存的指令 ; 第二发送模块, 用于在所述第一判断模块判断出所述内存占用率小于等于所述阈值 时, 向所述应用软件发送申请内存的指令。 7. 根据权利要求 6 所述的内存使用状况的反馈装置, 其特征在于, 还包括 : 第。
9、二判断模块, 用于判断所述内存峰值是否大于等于最大内存峰值 ; 所述最大内存峰 值为在所述应用软件本次运行过程中所出现的最大一次的内存峰值 ; 第一执行模块, 用于在所述内存峰值大于等于所述最大内存峰值时, 执行所述计算模 块 ; 在所述内存峰值小于所述最大内存峰值时, 将所述最大内存峰值作为所述内存峰值, 并 执行所述计算模块。 8. 根据权利要求 6 所述的内存使用状况的反馈装置, 其特征在于, 还包括 : 第三判断模块, 用于判断所述内存峰值是否大于等于平均内存峰值 ; 所述平均内存峰 值为在所述应用软件多次运行过程中每次最大内存峰值之和的平均值, 所述最大内存峰值 为在所述应用软件本次。
10、运行过程中所出现的最大一次的内存峰值 ; 第二执行模块, 用于在所述内存峰值大于等于所述平均内存峰值时, 执行所述计算模 块 ; 在所述内存峰值小于所述平均内存峰值时, 将所述平均内存峰值与所述内存峰值的平 均值作为所述内存峰值, 并执行所述计算模块。 9. 根据权利要求 6 所述的内存使用状况的反馈装置, 其特征在于, 所述第一发送模块 包括以下单元 : 第一判断单元, 用于判断所述内存占用率是否大于所述第一临界值 ; 所述第一临界值 大于所述阈值 ; 第一发送单元, 用于在所述内存占用率大于所述第一临界值时, 向所述应用软件发送 释放第一预设数量内存的指令 ; 第二发送单元, 用于在所述内。
11、存占用率小于等于所述第一临界值时, 向所述应用软件 发送释放第二预设数量内存的指令 ; 所述第一预设数量内存大于所述第二预设数量内存。 10. 根据权利要求 6 所述的内存使用状况的反馈装置, 其特征在于, 所述第二发送模块 包括以下单元 : 第二判断单元, 用于判断所述内存占用率是否大于所述第二临界值 ; 所述第二临界值 权 利 要 求 书 CN 103927230 A 3 3/3 页 4 小于所述阈值 ; 第三发送单元, 用于在所述内存占用率大于所述第二临界值时, 向所述应用软件发送 申请第三预设数量内存的指令 ; 第四发送单元, 用于在所述内存占用率小于等于所述第二临界值时, 向所述应用。
12、软件 发送申请第四预设数量内存的指令 ; 所述第三预设数量内存小于所述第四预设数量内存。 权 利 要 求 书 CN 103927230 A 4 1/12 页 5 一种内存使用状况的反馈方法及装置 技术领域 0001 本发明涉及存储器技术领域, 更具体的说, 涉及内存使用状况的反馈方法及装置。 背景技术 0002 目前, 移动终端发展迅猛, 大量的应用软件也随之应运而生。 如何使应用软件在移 动终端上充分利用资源且能稳定运行, 成为业界最关注的问题之一。 0003 在用户使用移动终端的应用软件时, 经常会出现应用软件的异常终止和浪费移动 终端的内存资源等问题。 例如, 用户在移动终端上打开了浏览。
13、器, 由于用户在浏览器上打开 了多个网页, 从而使该浏览器所占用的内存大于移动终端所能提供的内存, 移动终端的操 作系统会关闭该浏览器, 此时, 该应用软件出现了异常终止的情况。又如, 用户在移动终端 上打开了游戏程序, 由于为了使游戏程序具有良好的适应性, 所以该游戏程序在移动终端 上始终占据较少的内存资源, 即使移动终端当前还剩余大量的内存资源, 该游戏程序也不 会过多的占用, 从而浪费了移动终端的内存资源。 0004 因此, 通过上述问题可以了解到, 如何保证应用软件在移动终端上稳定运行, 且提 高应用软件对内存的利用率, 成为目前亟需解决的问题。 发明内容 0005 本发明实施例提供一。
14、种内存使用状况的反馈方法及装置, 以保证应用软件在移动 终端上稳定运行, 且提高应用软件对内存的利用率, 进而提高用户的使用体验。 0006 本发明实施例是这样实现的 : 0007 一种内存使用状况的反馈方法, 包括 : 0008 检测应用软件在移动终端中的内存占用值和所述移动终端的内存剩余值 ; 0009 计算所述内存占用值与内存峰值的比值作为所述应用软件的内存占用率, 所述内 存峰值为所述内存占用值与所述内存剩余值之和 ; 0010 判断所述内存占用率是否大于阈值 ; 0011 当所述内存占用率大于所述阈值时, 向所述应用软件发送释放内存的指令 ; 0012 当所述内存占用率小于等于所述阈。
15、值时, 向所述应用软件发送申请内存的指令。 0013 优选地, 在检测应用软件在移动终端中的内存占用值和所述移动终端的内存剩余 值之后, 在计算所述内存占用值与内存峰值的比值作为所述应用软件的内存占用率之前, 还包括 : 0014 判断所述内存峰值是否大于等于最大内存峰值 ; 所述最大内存峰值为在所述应用 软件本次运行过程中所出现的最大一次的内存峰值 ; 0015 当所述内存峰值大于等于所述最大内存峰值时, 执行所述计算所述内存占用值与 内存峰值的比值作为所述应用软件的内存占用率的步骤 ; 0016 当所述内存峰值小于所述最大内存峰值时, 将所述最大内存峰值作为所述内存峰 值, 并执行所述计算。
16、所述内存占用值与内存峰值的比值作为所述应用软件的内存占用率的 说 明 书 CN 103927230 A 5 2/12 页 6 步骤。 0017 优选地, 在检测应用软件在移动终端中的内存占用值和所述移动终端的内存剩余 值之后, 在计算所述内存占用值与内存峰值的比值作为所述应用软件的内存占用率之前, 还包括 : 0018 判断所述内存峰值是否大于等于平均内存峰值 ; 所述平均内存峰值为在所述应用 软件多次运行过程中每次最大内存峰值之和的平均值, 所述最大内存峰值为在所述应用软 件本次运行过程中所出现的最大一次的内存峰值 ; 0019 当所述内存峰值大于等于所述平均内存峰值时, 执行所述计算所述内。
17、存占用值与 内存峰值的比值作为所述应用软件的内存占用率的步骤 ; 0020 当所述内存峰值小于所述平均内存峰值时, 将所述平均内存峰值与所述内存峰值 的平均值作为所述内存峰值, 并执行所述计算所述内存占用值与内存峰值的比值作为所述 应用软件的内存占用率的步骤。 0021 优选地, 所述向应用软件发送释放内存的指令包括以下子步骤 : 0022 判断所述内存占用率是否大于所述第一临界值 ; 所述第一临界值大于所述阈值 ; 0023 当所述内存占用率大于所述第一临界值时, 向所述应用软件发送释放第一预设数 量内存的指令 ; 0024 当所述内存占用率小于等于所述第一临界值时, 向所述应用软件发送释放。
18、第二预 设数量内存的指令 ; 0025 所述第一预设数量内存大于所述第二预设数量内存。 0026 优选地, 所述向应用软件发送申请内存的指令包括以下子步骤 : 0027 判断所述内存占用率是否大于所述第二临界值 ; 所述第二临界值小于所述阈值 ; 0028 当所述内存占用率大于所述第二临界值时, 向所述应用软件发送申请第三预设数 量内存的指令 ; 0029 当所述内存占用率小于等于所述第二临界值时, 向所述应用软件发送申请第四预 设数量内存的指令 ; 0030 所述第三预设数量内存小于所述第四预设数量内存。 0031 一种内存使用状况的反馈装置, 包括 : 0032 检测模块, 用于检测应用软。
19、件在移动终端中的内存占用值和所述移动终端的内存 剩余值 ; 0033 计算模块, 用于计算所述内存占用值与内存峰值的比值作为所述应用软件的内存 占用率, 所述内存峰值为所述内存占用值与所述内存剩余值之和 ; 0034 第一判断模块, 用于判断所述内存占用率是否大于阈值 ; 0035 第一发送模块, 用于在所述第一判断模块判断出所述内存占用率大于所述阈值 时, 向所述应用软件发送释放内存的指令 ; 0036 第二发送模块, 用于在所述第一判断模块判断出所述内存占用率小于等于所述阈 值时, 向所述应用软件发送申请内存的指令。 0037 优选地, 还包括 : 0038 第二判断模块, 用于判断所述内。
20、存峰值是否大于等于最大内存峰值 ; 所述最大内 存峰值为在所述应用软件本次运行过程中所出现的最大一次的内存峰值 ; 说 明 书 CN 103927230 A 6 3/12 页 7 0039 第一执行模块, 用于在所述内存峰值大于等于所述最大内存峰值时, 执行所述计 算模块 ; 在所述内存峰值小于所述最大内存峰值时, 将所述最大内存峰值作为所述内存峰 值, 并执行所述计算模块。 0040 优选地, 还包括 : 0041 第三判断模块, 用于判断所述内存峰值是否大于等于平均内存峰值 ; 所述平均内 存峰值为在所述应用软件多次运行过程中每次最大内存峰值之和的平均值, 所述最大内存 峰值为在所述应用软。
21、件本次运行过程中所出现的最大一次的内存峰值 ; 0042 第二执行模块, 用于在所述内存峰值大于等于所述平均内存峰值时, 执行所述计 算模块 ; 在所述内存峰值小于所述平均内存峰值时, 将所述平均内存峰值与所述内存峰值 的平均值作为所述内存峰值, 并执行所述计算模块。 0043 优选地, 所述第一发送模块包括以下单元 : 0044 第一判断单元, 用于判断所述内存占用率是否大于所述第一临界值 ; 所述第一临 界值大于所述阈值 ; 0045 第一发送单元, 用于在所述内存占用率大于所述第一临界值时, 向所述应用软件 发送释放第一预设数量内存的指令 ; 0046 第二发送单元, 用于在所述内存占用。
22、率小于等于所述第一临界值时, 向所述应用 软件发送释放第二预设数量内存的指令 ; 所述第一预设数量内存大于所述第二预设数量内 存。 0047 优选地, 所述第二发送模块包括以下单元 : 0048 第二判断单元, 用于判断所述内存占用率是否大于所述第二临界值 ; 所述第二临 界值小于所述阈值 ; 0049 第三发送单元, 用于在所述内存占用率大于所述第二临界值时, 向所述应用软件 发送申请第三预设数量内存的指令 ; 0050 第四发送单元, 用于在所述内存占用率小于等于所述第二临界值时, 向所述应用 软件发送申请第四预设数量内存的指令 ; 所述第三预设数量内存小于所述第四预设数量内 存。 005。
23、1 与现有技术相比, 本实施例提供的技术方案具有以下优点和特点 : 0052 在本发明提供的方案中, 通过检测应用软件在移动终端中的内存占用值和移动终 端的内存剩余值, 以得到应用软件的内存占用率, 进而判断应用软件的内存占用率是否大 于阈值, 如果内存占用率大于阈值, 说明应用软件在移动终端内占用的内存过多, 且移动终 端的剩余内存值较低, 则该应用软件存在被强制关闭的风险, 所以向应用软件发送释放内 存的指令 ; 如果内存占用率小于等于阈值, 说明应用软件在移动终端内占用的内存过少, 且 移动终端的剩余内存值较多, 则浪费了移动终端的内存资源, 且没有发挥出该应用软件的 最佳性能, 所以向。
24、应用软件发送申请内存的指令。 因此, 本发明实施例不仅能够保证应用软 件在移动终端上稳定运行, 而且提高了应用软件对内存的利用率, 进而提高用户的使用体 验。 附图说明 0053 为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施例中所 说 明 书 CN 103927230 A 7 4/12 页 8 需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本发明的一些实施 例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获 得其他的附图。 0054 图 1 为本发明实施例提供的一种内存使用状况的反馈方法的流程图 ; 0055 图 2。
25、 为本发明实施例提供的另一种内存使用状况的反馈方法的流程图 ; 0056 图 3 为本发明实施例提供的又一种内存使用状况的反馈方法的流程图 ; 0057 图 4 为本发明实施例提供的一种内存使用状况的反馈装置的模块图 ; 0058 图 5 为本发明实施例提供的另一种内存使用状况的反馈装置的模块图 ; 0059 图 6 为本发明实施例提供的又一种内存使用状况的反馈装置的模块图。 具体实施方式 0060 下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 整的描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。基于 本发明中的实施例, 本领域普通技。
26、术人员在没有做出创造性劳动前提下所获得的所有其他 实施例, 都属于本发明保护的范围。 0061 本发明实施例提供了一种内存使用状况的反馈方法及装置, 以保证应用软件在移 动终端上稳定运行, 且提高应用软件对内存的利用率, 进而提高用户的使用体验。 由于上述 内存使用状况的反馈方法及装置的具体实现存在多种方式, 下面通过具体实施例进行详细 说明 : 0062 实施例一 0063 请参见图 1 所示, 图 1 所示的为一种内存使用状况的反馈方法的流程图。本发明 实施例提供的方法可应用于移动终端, 移动终端可以为手机或平板电脑等设备。本发明实 施例提供的方法不仅能够保证应用软件在移动终端上稳定运行,。
27、 而且提高了应用软件对内 存的利用率, 进而提高用户的使用体验。该方法包括 : 0064 步骤 S101、 检测应用软件在移动终端中的内存占用值和移动终端的内存剩余值 ; 0065 其中, 内存占用值为应用软件在移动终端中所占用的内存值, 内存剩余值为移动 终端当前所剩余的内存值。例如, 假设移动终端的总内存为 1000M, 移动终端的内操作系统 占据 300M, 移动终端内的常驻软件占据 200M, 那么可以检测到应用软件在移动终端中的内 存占用值为 200M, 且可以检测到移动终端的内存剩余值为 300M。检测应用软件在移动终端 中的内存占用值和移动终端的内存剩余值都可以利用常规技术手段得。
28、到。 0066 步骤 S102、 计算内存占用值与内存峰值的比值作为应用软件的内存占用率 ; 0067 其中, 内存峰值为应用软件的内存占用值与移动终端的内存剩余值之和, 内存峰 值代表的含义为应用软件理论上可以占据的最大内存值。 应用软件的内存占用率就是应用 软件的内存占用值与内存峰值的比值, 内存占用率越大, 说明移动终端的内存剩余值越少, 那么应用软件可以继续申请的内存就越少, 即应用软件继续申请内存的异常终止的风险也 就越大, 且应用软件对移动终端的内存利用率相对较高 ; 内存占用率越小, 说明移动终端的 内存剩余值越多, 那么应用软件可以继续申请的内存就越多, 即应用软件继续申请内存。
29、的 异常终止的风险也就越小, 且应用软件对移动终端的内存利用率相对较低。 0068 步骤 S103、 判断内存占用率是否大于阈值, 如果是, 则执行步骤 S104 ; 否则, 执行 说 明 书 CN 103927230 A 8 5/12 页 9 步骤 S105 ; 0069 其中, 阈值既可以人为自行设定, 也可以通过合理的算法计算出来。 0070 如果阈值通过人为自行设定, 那么可以根据移动终端的可用内存情况、 应用软件 占用内存的情况以及应用软件占用内存的增量等参数综合考虑阈值的大小。 0071 如果阈值通过合理的算法计算出来, 其算法包括很多种方式, 下面简要介绍一种 较为通用的算法来计。
30、算阈值 : 0072 首先, 确定应用软件在预定时间内的单次最大内存增长量。 其中, 在预定时间内的 单次最大内存增长量即为应用软件在某一个预订的时间内有可能申请到的最大内存值, 例 如, 浏览器在 2 秒内有可能申请到的最大内存值为 20M。 0073 然后, 计算单次最大内存增长量与内存峰值的比值作为应用软件的单次最大内存 增长比例值。 应用软件的单次最大内存增长比例值即为在移动终端的内存峰值中可申请到 单次最大内存增长量的比例值, 例如, 移动终端的内存峰值为 100M, 单次最大内存增长量为 20M, 那么应用软件的单次最大内存增长比例值为 20M/100M=20%。 0074 最后,。
31、 用 1 减去二倍的单次最大内存增长比例值得到步骤 S103 中提到的阈值。其 中, 阈值的计算不一定非要用 1 减去二倍的单次最大内存增长比例值, 阈值的计算也可以 用 1 减去一定比例的单次最大内存增长比例值, 这个一定比例主要以具体的情况来定。例 如, 假设应用软件在预定时间内的单次最大内存增长量 20M, 移动终端的内存峰值为 100M, 应用软件的单次最大内存增长比例值为 20M/100M=20%, 阈值即为 1-220%=0.6。 0075 当然, 关于阈值的算法还有很多种, 在此不再一一举例。 0076 计算出阈值的目的是将阈值作为一个参考标准, 如果应用软件的内存占用率大于 这。
32、个预先设定的阈值, 那么说明应用软件对移动终端的内存的占用率较高, 且应用软件再 申请内存存在被操作系统关闭的风险 ; 如果应用软件的内存占用率小于等于这个预先设定 的阈值, 那么说明应用软件对移动终端的内存的占用率较低或处于合理状态下, 且应用软 件可以再次向移动终端申请可用的内存。 0077 步骤 S104、 向应用软件发送释放内存的指令 ; 0078 其中, 在应用软件的内存占用率大于阈值时, 说明应用软件再申请内存存在被操 作系统关闭的风险, 所以向该应用软件发送释放内存的指令。应用软件在接收到该释放内 存的指令后, 可以有多种方式释放内存。 0079 例如, 应用软件为浏览器, 用户。
33、使用浏览器打开了多个网站, 此时, 浏览器接收到 了释放内存的指令, 浏览器即可通过移动终端的显示屏向用户显示 “当前可用内存不足, 请 关闭适量的网页, 以避免浏览器异常终止! ” 。浏览器也可以通过移动终端的扬声器发出声 音, 以表达出让用户关闭一定数量的页面, 以释放内存。 浏览器还可以自动关闭一些用户打 开了很久却没有观看过的页面, 以释放内存。 0080 又如, 应用软件为某款游戏软件, 用户正在玩该游戏软件, 当游戏软件的某些场 景占据较高内存时, 游戏软件接到了释放内存的指令, 那么游戏软件通过移动终端的显示 屏向用户显示 “当前可用内存不足, 请降低游戏软件的画面效果, 以避免。
34、游戏软件异常终 止! ” 。游戏软件也可以通过移动终端的扬声器发出声音, 以表达出让用户降低游戏软件的 画面效果, 以释放内存。游戏软件还可以自动降低游戏软件的画面效果, 以释放内存。 0081 步骤 S105、 向应用软件发送申请内存的指令。 说 明 书 CN 103927230 A 9 6/12 页 10 0082 其中, 在应用软件的内存占用率小于等于阈值时, 说明应用软件可以继续申请移 动终端的部分剩余内存, 所以向该应用软件发送申请内存的指令。应用软件在接收到该申 请内存的指令后, 可以有多种方式申请内存。 0083 例如, 应用软件为浏览器, 用户使用浏览器打开了一个网站, 此时,。
35、 浏览器接收到 了申请内存的指令, 浏览器即可通过移动终端的显示屏向用户显示 “当前可用内存充足, 可 以打开更多的网页! ” 。浏览器也可以通过移动终端的扬声器发出声音, 以表达出用户可以 打开一定数量的页面, 以充分利用移动终端的可用内存。 0084 又如, 应用软件为某款游戏软件, 用户正在玩该游戏软件, 当游戏软件的画面效果 较差且占用内存较少时, 游戏软件接到了申请内存的指令, 那么游戏软件通过移动终端的 显示屏向用户显示 “当前可用内存充足, 可以提高游戏软件的画面效果! ” 。游戏软件也可 以通过移动终端的扬声器发出声音, 以表达出让用户提高游戏软件的画面效果, 以申请内 存。游。
36、戏软件还可以自动提高游戏软件的画面效果, 以申请内存。 0085 在图 1 所示的实施例中, 通过检测应用软件在移动终端中的内存占用值和移动终 端的内存剩余值, 以得到应用软件的内存占用率, 进而判断应用软件的内存占用率是否大 于阈值, 如果内存占用率大于阈值, 说明应用软件在移动终端内占用的内存过多, 且移动终 端的剩余内存值较低, 则该应用软件存在被强制关闭的风险, 所以向应用软件发送释放内 存的指令 ; 如果内存占用率小于等于阈值, 说明应用软件在移动终端内占用的内存过少, 且 移动终端的剩余内存值较多, 则浪费了移动终端的内存资源, 且没有发挥出该应用软件的 最佳性能, 所以向应用软件。
37、发送申请内存的指令。 因此, 本发明实施例不仅能够保证应用软 件在移动终端上稳定运行, 而且提高了应用软件对内存的利用率, 进而提高用户的使用体 验。 0086 作为优选方案, 在图 1 的步骤 S104 中, 向应用软件发送释放内存的指令可以包括 以下子步骤 : 判断内存占用率是否大于第一临界值 ; 第一临界值大于阈值 ; 当内存占用率 大于第一临界值时, 向应用软件发送释放第一预设数量内存的指令 ; 当内存占用率小于等 于第一临界值时, 向应用软件发送释放第二预设数量内存的指令 ; 第一预设数量内存大于 第二预设数量内存。 0087 其中, 第一临界值可以作为异常终止警戒值, 如果内存占用。
38、率大于第一临界值, 说 明应用软件的内存占用值已经非常接近内存峰值, 该应用软件存在着极大的被操作系统关 闭的几率, 所以向应用软件发送释放第一预设数量内存的指令。如果内存占用率小于第一 临界值且大于阈值, 说明应用软件的内存占用值未接近内存峰值, 该软件存在着一定的被 操作系统关闭的几率, 所以向应用软件发送释放第二预设数量内存的指令。在内存占用率 大于第一临界值时, 应用软件被操作系统关闭的几率较大 ; 在内存占用率小于于第一临界 值且大于阈值时, 应用软件被操作系统关闭的几率较小, 所以在设置第一预设数量内存和 第二预设数量内存时, 要使第一预设数量内存大于第二预设数量内存, 以符合实际。
39、情况。 0088 作为优选方案, 在图 1 的步骤 S105 中, 向应用软件发送申请内存的指令可以包括 以下子步骤 : 判断内存占用率是否大于第二临界值 ; 第二临界值小于阈值 ; 当内存占用率 大于第二临界值时, 向应用软件发送申请第三预设数量内存的指令 ; 当内存占用率小于等 于第二临界值时, 向应用软件发送申请第四预设数量内存的指令 ; 第三预设数量内存小于 第四预设数量内存。 说 明 书 CN 103927230 A 10 7/12 页 11 0089 其中, 第二临界值可以作为内存空闲提示值, 如果内存占用率小于第二临界值, 说 明应用软件的内存占用值距离内存峰值非常远, 移动终端。
40、具有非常多的内存可以被申请, 所以向应用软件发送申请第四预设数量内存的指令。 如果内存占用率大于第二临界值且小 于阈值, 说明应用软件的内存占用值距离内存峰值较远, 移动终端具有较多的内存可以被 申请, 所以向应用软件发送申请第三预设数量内存的指令。 由于上述两种情况不同, 所以在 设置第三预设数量内存和第四预设数量内存时, 要使第三预设数量内存小于第四预设数量 内存, 以符合实际情况。 0090 实施例二 0091 请参见图 2 所示, 图 2 所示的为另一种内存使用状况的反馈方法的流程图。本发 明实施例提供的方法可应用于移动终端, 移动终端可以为手机或平板电脑等设备。由于本 实施例是基于实。
41、施例一的改进, 所以本实施例中与实施例一相同之处请参见实施例一的内 容, 重复内容将不再赘述。本发明实施例提供的方法可以使操作系统将主动申请的缓存释 放出来, 并将这部分操作系统主动释放出来的缓存让应用软件来申请, 以提高应用软件对 移动终端的内存资源的利用率, 从而提高应用软件的性能, 进而提高用户的使用体验。 该方 法包括 : 0092 步骤 S201、 检测应用软件在移动终端中的内存占用值和移动终端的内存剩余值 ; 0093 步骤 S202、 判断内存峰值是否大于等于最大内存峰值, 如果是, 则执行步骤 S204 ; 否则, 执行步骤 S203 ; 0094 其中, 最大内存峰值为应用软。
42、件在本次运行过程中所出现的最大一次的内存峰 值, 应用软件在本次运行过程中指的是应用软件从开启到关闭的整个过程, 最大一次的内 存峰值指的是应用软件在本次运行过程中应用软件的内存占用值与移动终端的内存剩余 值之和最大的一次。 0095 有些移动终端的操作系统具有自由的申请或释放缓存的功能。 在移动终端的剩余 内存丰富时, 使用一部分剩余内存对操作系统的性能进行提升, 例如, 对文件进行缓存以加 快文件读写效率, 或对进入后台的软件进行缓存以便迅速启动等。这部分由操作系统主动 申请的缓存在移动终端的剩余内存不足时, 会被操作系统主动的释放。在步骤 S201 中, 检 测到的移动终端的内存剩余值可。
43、能不是移动终端真实的情况, 有可能是被操作系统主动申 请缓存后剩余的内存值, 所以要综合考虑本次运行过程中的最大内存峰值, 避免因操作系 统主动抢夺移动终端的剩余内存而出现检测不准确的情况, 所以要在步骤 S202 中检验一 下步骤 S201 中检测到的内存峰值是否为应用软件在本次运行过程中所出现的最大一次的 内存峰值, 如果是, 说明检测到的移动终端的内存剩余值可能是准确的, 操作系统可能没有 主动的申请缓存 ; 如果否, 说明检测到的移动终端的内存剩余值可能不是真实的值, 而是操 作系统申请缓存后的内存剩余值。 0096 步骤 S203、 将最大内存峰值作为内存峰值, 并执行步骤 S204。
44、。 0097 其中, 步骤 S201 检测到的应用软件的内存峰值小于应用软件本次运行的最大内 存峰值, 说明检测到的移动终端的内存剩余值可能不是真实的值, 而是操作系统申请缓存 后的内存剩余值, 所以将这个最大内存峰值赋值给内存峰值, 以使步骤 S204 的计算步骤利 用该最大内存峰值, 从而使步骤 S205 的判断更加准确。这样做起到的效果会逼迫操作系统 将主动申请的缓存释放出来, 并将这部分操作系统主动释放出来的缓存让应用软件申请, 说 明 书 CN 103927230 A 11 8/12 页 12 以提高应用软件对移动终端的内存资源的利用率, 从而提高应用软件的性能, 进而提高用 户的使。
45、用体验。 0098 步骤 S204、 计算内存占用值与内存峰值的比值作为应用软件的内存占用率 ; 0099 步骤 S205、 判断内存占用率是否大于阈值, 如果是, 则执行步骤 S206 ; 否则, 执行 步骤 S207 ; 0100 步骤 S206、 向应用软件发送释放内存的指令 ; 0101 步骤 S207、 向应用软件发送申请内存的指令。 0102 在图 2 所示的实施例中, 本发明实施例可以使操作系统将主动申请的缓存释放出 来, 并将这部分操作系统主动释放出来的缓存让应用软件来申请, 以提高应用软件对移动 终端的内存资源的利用率, 从而提高应用软件的性能, 进而提高用户的使用体验。 0。
46、103 下面通过一个具体的实例, 简要介绍本实施例的应用场景 : 0104 假设应用软件为浏览器, 移动终端为手机, 手机的总内存为 1000M, 手机的操作系 统占据 300M 内存, 常驻软件占据 200M 内存, 操作系统主动申请 300M 内存作为缓存, 当前 手机剩余内存为 200M。用户打开手机的浏览器, 在使用一段时间以后, 浏览器占据了手机 180M 的手机内存, 手机剩余内存为 20M。此时, 本发明实施例提供的方法开始执行, 第一步, 检测到移动终端的内存剩余值为 20M, 应用软件的内存占用值为 180M ; 第二步, 计算内存剩 余值与内存占用值之和作为内存峰值得到 2。
47、00M ; 第三步, 判断内存峰值是否大于等于最大 内存峰值, 假设最大内存峰值为 500M, 那么判断结果为内存峰值 200M 小于最大内存峰值 500M, 则将最大内存峰值 500M 赋值给内存峰值, 以使内存峰值为 500M ; 第四步, 计算内存占 用值 180M 与内存峰值 500M 之间的比值作为内存占用率, 经计算内存占用率为 36% ; 第五 步, 判断内存占用率 36% 是否大于阈值, 假设阈值预先设定为 70%, 那么判断结果为内存占 用率小于阈值, 所以向浏览器发送申请内存的指令。 0105 但是, 如果不考虑操作系统可能主动申请内存作为缓存这个因素, 那么计算的结 果可。
48、能会存在误操作, 从而影响整体的测量效果。所以本实施例可以起到逼迫操作系统将 主动申请的缓存释放出来的效果, 从而提高了应用软件对移动终端的内存资源的利用率, 以提升应用软件的性能。 0106 实施例三 0107 请参见图 3 所示, 图 3 所示的为又一种内存使用状况的反馈方法的流程图。本发 明实施例提供的方法可应用于移动终端, 移动终端可以为手机或平板电脑等设备。由于本 实施例是基于实施例一和实施例二的改进, 所以本实施例中与实施例一和实施例二相同之 处请参见实施例一的内容, 重复内容将不再赘述。本发明实施例提供的方法可以使操作系 统将主动申请的缓存释放出来, 并将这部分操作系统主动释放出。
49、来的缓存让应用软件来申 请, 以提高应用软件对移动终端的内存资源的利用率, 从而提高应用软件的性能, 进而提高 用户的使用体验。该方法包括 : 0108 步骤 S301、 检测应用软件在移动终端中的内存占用值和移动终端的内存剩余值 ; 0109 步骤 S302、 判断内存峰值是否大于等于平均内存峰值, 如果是, 则执行步骤 S304 ; 否则, 执行步骤 S303 ; 0110 其中, 平均内存峰值为在应用软件多次运行过程中每次最大内存峰值之和的平均 值, 每次最大内存峰值为在应用软件本次运行过程中所出现的最大一次的内存峰值。 例如, 说 明 书 CN 103927230 A 12 9/12 页 13 假设应用软件一共运行过三次, 第一次运行时, 检测到本次最大内存峰值为 15M, 第二次运 行时, 检测到本次最大内存峰值为 20M, 第三次运行时。