内存管理方法、装置、电子设备及计算机可读存储介质.pdf
《内存管理方法、装置、电子设备及计算机可读存储介质.pdf》由会员分享,可在线阅读,更多相关《内存管理方法、装置、电子设备及计算机可读存储介质.pdf(14页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010700922.9 (22)申请日 2020.07.20 (71)申请人 汉海信息技术(上海)有限公司 地址 200050 上海市长宁区安化路492号4 幢2楼C201室 (72)发明人 张旭童 (74)专利代理机构 北京润泽恒知识产权代理有 限公司 11319 代理人 任亚娟 (51)Int.Cl. G06F 9/50(2006.01) (54)发明名称 内存管理方法、 装置、 电子设备及计算机可 读存储介质 (57)摘要 本申请实施例提供了一种内存管理方法、 装 置。
2、、 电子设备及计算机可读存储介质, 其中, 方法 包括: 对预设广播消息进行监听, 在监听到所述 预设广播消息时, 调用预设应用程序接口API, 以 触发对所述应用程序客户端占用的内存进行垃 圾回收。 本申请是以控制端设备发送预设广播消 息、 由待测试终端设备接收预设广播消息的方式 实现对待测试应用程序占用的内存的垃圾回收 的控制, 由于控制端发送预设广播给待测试终端 设备监听不需要待测试终端设备具有root权限, 因此, 解决了应用程序内存垃圾回收需要root权 限的局限。 权利要求书2页 说明书9页 附图2页 CN 111966489 A 2020.11.20 CN 111966489 A。
3、 1.一种内存管理方法, 其特征在于, 应用于终端设备上安装的应用程序客户端, 所述方 法包括: 对预设广播消息进行监听; 在监听到所述预设广播消息时, 调用预设应用程序接口API, 以触发对所述应用程序客 户端占用的内存进行垃圾回收。 2.根据权利要求1所述的方法, 其特征在于, 在对预设广播消息进行监听之前, 所述方 法还包括: 在所述应用程序客户端内布设广播接收器, 所述广播接收器用于对所述预设广播消息 进行监听; 与控制设备建立通信连接, 所述控制设备用于对所述预设广播消息进行广播。 3.根据权利要求1所述的方法, 其特征在于, 在调用预设应用程序接口API, 以触发对所 述应用程序客。
4、户端占用的内存进行垃圾回收之后, 所述方法还包括: 对所述应用程序客户端占用的内存进行垃圾回收; 输出对所述应用程序客户端占用的内存经垃圾回收后的参数值, 和/或, 将所述应用程 序客户端占用的内存经垃圾回收后的参数值发送给所述控制设备。 4.一种内存管理方法, 其特征在于, 应用于控制设备, 所述方法包括: 获得内存管理指令, 所述内存管理指令用于对与所述控制设备通信连接的终端设备上 安装的应用程序客户端占用的内存进行管理; 执行预设命令, 对预设广播消息进行广播, 以使所述应用程序客户端监听到所述预设 广播消息时, 触发对自身占用的内存进行垃圾回收。 5.根据权利要求4所述的方法, 其特征。
5、在于, 所述方法还包括: 配置预设脚本; 所述执行预设命令, 对所述预设广播消息进行广播, 包括: 运行所述预设脚本, 通过所述预设脚本执行所述预设命令, 对所述预设广播消息进行 广播。 6.根据权利要求4或者5所述的方法, 其特征在于, 在对所述预设广播消息进行广播之 后, 所述方法还包括: 接收所述终端设备返回的对所述应用程序客户端占用的内存经垃圾回收后的参数值。 7.一种内存管理装置, 其特征在于, 应用于终端设备上安装的应用程序客户端, 所述装 置包括: 监听模块, 用于对预设广播消息进行监听; 触发模块, 用于在监听到所述预设广播消息时, 调用预设应用程序接口API, 以触发对 所述。
6、应用程序客户端占用的内存进行垃圾回收。 8.一种内存管理装置, 其特征在于, 应用于控制设备, 所述装置包括: 获得模块, 用于获得内存管理指令, 所述内存管理指令用于对与所述控制设备通信连 接的终端设备上安装的应用程序客户端占用的内存进行管理; 广播模块, 用于执行预设命令, 对预设广播消息进行广播, 以使所述应用程序客户端监 听到所述预设广播消息时, 触发对自身占用的内存进行垃圾回收。 9.一种计算机可读存储介质, 其上存储有计算机程序, 其特征在于, 该程序被处理器执 权利要求书 1/2 页 2 CN 111966489 A 2 行时实现如权利要求1-3任一所述的方法的步骤, 或者, 实。
7、现如权利要求4-6任一所述的方 法中的步骤。 10.一种电子设备, 包括存储器、 处理器及存储在存储器上并可在处理器上运行的计算 机程序, 其特征在于, 所述处理器执行时实现如权利要求1-3任一所述的方法的步骤, 或者, 实现如权利要求4-6任一所述的方法中的步骤。 权利要求书 2/2 页 3 CN 111966489 A 3 内存管理方法、 装置、 电子设备及计算机可读存储介质 技术领域 0001 本申请实施例涉及数据处理技术领域, 尤其涉及一种内存管理方法、 装置、 电子设 备及计算机可读存储介质。 背景技术 0002 APP(Application, 应用程序)开发中, 通常会对APP的。
8、内存占用进行监测测试, 避 免开发出的APP内存占用太大, 导致APP容易崩溃, 或者停留在后台容易被系统回收, 再进入 APP时需要重新启动。 0003 在做内存占用的监控测试时, 为了让结果更准确, 是希望能在采样内存值之前, 先 触发一次内存GC(Garbage Collection, 垃圾回收), 将已无用的垃圾对象回收掉, 以减少采 样内存值的误差。 0004 但是相关技术中, 要想控制待测试APP进行内存GC, 需要安装待测试APP的手机开 启root权限。 然而手机开启root权限后, 安全性会降低, 并且随着系统版本的不断升级更 新, root权限也越来越难获取, 因此, 现有。
9、的内存GC方案存在很大的局限性。 发明内容 0005 本申请实施例提供一种内存管理方法、 装置、 电子设备及可读存储介质, 以解决传 统应用程序内存垃圾清理时需要root权限的局限。 0006 本申请实施例第一方面提供了一种内存管理方法, 应用于终端设备上安装的应用 程序客户端, 所述方法包括: 0007 对预设广播消息进行监听; 0008 在监听到所述预设广播消息时, 调用预设应用程序接口API, 以触发对所述应用程 序客户端占用的内存进行垃圾回收。 0009 可选地, 在对预设广播消息进行监听之前, 所述方法还包括: 0010 在所述应用程序客户端内布设广播接收器, 所述广播接收器用于对所。
10、述预设广播 消息进行监听; 0011 与控制设备建立通信连接, 所述控制设备用于对所述预设广播消息进行广播。 0012 可选地, 在调用预设应用程序接口API, 以触发对所述应用程序客户端占用的内存 进行垃圾回收之后, 所述方法还包括: 0013 对所述应用程序客户端占用的内存进行垃圾回收; 0014 输出对所述应用程序客户端占用的内存经垃圾回收后的参数值, 和/或, 将所述应 用程序客户端占用的内存经垃圾回收后的参数值发送给所述控制设备。 0015 本申请实施例第二方面提供了一种内存管理方法, 应用于控制设备, 所述方法包 括: 0016 获得内存管理指令, 所述内存管理指令用于对与所述控制。
11、设备通信连接的终端设 备上安装的应用程序客户端占用的内存进行管理; 说明书 1/9 页 4 CN 111966489 A 4 0017 执行预设命令, 对预设广播消息进行广播, 以使所述应用程序客户端监听到所述 预设广播消息时, 触发对自身占用的内存进行垃圾回收。 0018 可选地, 所述方法还包括: 0019 配置预设脚本; 0020 所述执行预设命令, 对所述预设广播消息进行广播, 包括: 0021 运行所述预设脚本, 通过所述预设脚本执行所述预设命令, 对所述预设广播消息 进行广播。 0022 可选地, 在对所述预设广播消息进行广播之后, 所述方法还包括: 0023 接收所述终端设备返回。
12、的对所述应用程序客户端占用的内存经垃圾回收后的参 数值。 0024 本申请实施例第三方面提供一种内存管理装置, 应用于终端设备上安装的应用程 序客户端, 所述装置包括: 0025 监听模块, 用于对预设广播消息进行监听; 0026 触发模块, 用于在监听到所述预设广播消息时, 调用预设应用程序接口API, 以触 发对所述应用程序客户端占用的内存进行垃圾回收。 0027 可选地, 所述装置还包括: 0028 布设模块, 用于在所述应用程序客户端内布设广播接收器, 所述广播接收器用于 对所述预设广播消息进行监听; 0029 通信连接建立模块, 用于与控制设备建立通信连接, 所述控制设备用于对所述预。
13、 设广播消息进行广播。 0030 可选地, 所述装置还包括: 0031 垃圾回收模块, 用于对所述应用程序客户端占用的内存进行垃圾回收; 0032 输出发送模块, 用于输出对所述应用程序客户端占用的内存经垃圾回收后的参数 值, 和/或, 将所述应用程序客户端占用的内存经垃圾回收后的参数值发送给所述控制设 备。 0033 本申请实施例第四方面提供一种内存管理装置, 应用于控制设备, 所述装置包括: 0034 获得模块, 用于获得内存管理指令, 所述内存管理指令用于对与所述控制设备通 信连接的终端设备上安装的应用程序客户端占用的内存进行管理; 0035 广播模块, 用于执行预设命令, 对预设广播消。
14、息进行广播, 以使所述应用程序客户 端监听到所述预设广播消息时, 触发对自身占用的内存进行垃圾回收。 0036 可选地, 所述装置还包括: 0037 配置模块, 用于配置预设脚本; 0038 所述广播模块, 包括: 0039 广播子模块, 用于运行所述预设脚本, 通过所述预设脚本执行所述预设命令, 对所 述预设广播消息进行广播。 0040 可选地, 所述装置还包括: 0041 接收模块, 用于接收所述终端设备返回的对所述应用程序客户端占用的内存经垃 圾回收后的参数值。 0042 本申请实施例第五方面提供一种计算机可读存储介质, 其上存储有计算机程序, 说明书 2/9 页 5 CN 111966。
15、489 A 5 该程序被处理器执行时实现如本申请第一方面或者第二方面所述的方法中的步骤。 0043 本申请实施例第六方面提供一种电子设备, 包括存储器、 处理器及存储在存储器 上并可在处理器上运行的计算机程序, 所述处理器执行时实现本申请第一方面或者第二方 面所述的方法的步骤。 0044 采用本申请实施例提供的内存管理方法, 应用程序客户端能够在监听到预设广播 消息之后, 便能够调用预设应用程序接口API, 触发应用程序客户端占用的内存进行垃圾回 收, 本申请是以控制端设备发送预设广播消息、 由待测试终端设备接收预设广播消息的方 式实现对待测试应用程序占用的内存的垃圾回收的控制, 由于控制端发。
16、送预设广播给待测 试终端设备监听不需要待测试终端设备具有root权限, 因此, 解决了应用程序内存垃圾回 收需要root权限的局限。 附图说明 0045 为了更清楚地说明本申请实施例的技术方案, 下面将对本申请实施例的描述中所 需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本申请的一些实施 例, 对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下, 还可以根据这些附图 获得其他的附图。 0046 图1是本申请一实施例提出的一种实施环境示意图; 0047 图2是本申请一实施例提出的一种内存管理方法的流程图; 0048 图3是本申请一实施例提出的另一种内存管理方法的流程。
17、图; 0049 图4是本申请一实施例提出的一种内存管理装置的示意图; 0050 图5是本申请一实施例提出的另一种内存管理装置的示意图。 具体实施方式 0051 下面将结合本申请实施例中的附图, 对本申请实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例是本申请一部分实施例, 而不是全部的实施例。 基于本申 请中的实施例, 本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施 例, 都属于本申请保护的范围。 0052 相关技术中, 在做内存占用的监控测试时, 为了让结果更准确, 通常需要对待测试 APP触发一次内存GC, 待测试APP可以是基于安卓系统的APP, 因。
18、此在PC上, 自动化监控测试 内存占用时, 就期望可以远程触发目标手机(安装待测试APP的手机)上待测试App GC。 现有 的方案是: 通过kill命令向App进程发送数字为10的自定义信号, 即通过 “adb shell kill- 10pid” (pid为进程号)触发App进程GC。 0053 由于kill-10命令需要目标手机有root权限, 然而手机开启root权限后, 安全性会 降低, 并且随着系统版本的不断升级更新, root权限也越来越难获取, 因此, 导致现有大部 分Android手机都是没有root权限的, 若手机没有root权限, 执行该命令会报出错误, 因此, 现有的内。
19、存GC方案存在很大的局限性。 0054 本申请发明人基于上述发现, 提出在待测试APP代码中预置广播接收器, 在PC端有 内存垃圾回收需求时, 通过adb(Android Debug Bridge, 安卓调试桥)命令发送特定广播唤 起该广播接收器, 该广播接收器调用预设应用程序接口API, 从而触发待测试App GC的技术 说明书 3/9 页 6 CN 111966489 A 6 构思。 本申请利用adb命令发送广播不需要目标手机root权限的特性, 巧妙完美的解决了传 统方案需要手机具有root权限的局限性。 0055 参考图1, 图1示出了本发明实施例提出的一种实施环境示意图。 如图1所示。
20、, 该实 施环境包括控制端设备(或者称为控制设备)和安装待测试应用程序的终端设备(以下简称 待测试终端设备), 其中, 控制端设备和待测试终端设备通信连接, 例如, 控制端设备和待测 试终端设备可以包括但不限于通过USB连接, 通过WIFI连接。 控制端设备可以为PC, PC上可 以安装有adb工具, 并且可以通过运行脚本或者命令行的方式执行adb命令, 待测试终端设 备可以包括但不限于智能手机、 平板电脑以及智能穿戴设备等等, 待测试终端设备可以安 装安卓系统, 待测试终端设备上安装有待测试应用程序客户端, 待测试应用程序客户端内 布设有广播接收器。 0056 参考图2, 图2是本申请一实施。
21、例提出的一种内存管理方法的流程图。 如图2所示, 该方法包括以下步骤: 0057 步骤S21, 对预设广播消息进行监听。 0058 本实施例中, 预设广播消息是控制端设备发送的一种特定的广播消息, 广播消息 的具体内容可以由设计人员自行规定, 并在设计人员需要对待测试应用程序客户端占用的 内存进行垃圾回收的时候, 通过控制端设备发送, 由待测试应用程序客户端监听, 预设广播 消息例如可以是 “com.dianping.v1.force.gc” 。 0059 因此, 为了使得终端设备上安装的应用程序客户端能够对控制端发送的预设广播 进行监听, 在上述步骤S21之前, 具体可以执行以下步骤: 00。
22、60 步骤S201, 在所述应用程序客户端内布设广播接收器。 0061 其中, 所述广播接收器用于对所述预设广播消息进行监听。 0062 步骤S202, 与控制设备建立通信连接。 0063 其中, 所述控制设备用于对所述预设广播消息进行广播。 0064 本实施例中, 可以通过广播接收器对预设广播消息进行持续监听, 因此, 可以事先 在应用程序客户端内布设广播接收器, 即在应用程序代码内部预置一个广播接收器, 该广 播接收器可以只设置用于监听上述预设广播消息, 而不会接收其他的广播消息。 需要说明 的是, 在应用程序代码内部预置广播接收器的方法可以参考任一合适的现有技术, 此处不 再赘述。 00。
23、65 在一种实施方式中, 如果应用程序客户端内事先存在广播接收器, 也可以直接对 该广播接收器进行适当的调整, 使其可以用于接收控制端广播的预设广播消息。 0066 此外, 除了需要事先在应用程序客户端内布设广播接收器, 用于接收预设广播消 息之外, 控制端设备(即控制设备)还需要能够广播上述预设广播消息。 具体地, 控制端设备 可以执行预设命令, 对预设广播消息进行广播。 0067 在一种实施方式中, 预设命令可以是预设adb命令。 具体地, 控制端设备可以安装 adb工具, 在获得内存管理指令之后, 控制端便可以通过adb工具可以向待测试终端设备发 送预设adb命令, 进而通过预设adb命。
24、令广播预设广播消息。 adb, 全称Android Debug Bridge, 即安卓调试桥, 是安卓sdk的一个工具。 0068 在一种实施方式中, 为了简化使用预设命令对广播消息进行广播的操作, 例如简 化使用预设adb命令对广播消息进行广播的操作, 还可以在控制端设备配置预设脚本, 通过 说明书 4/9 页 7 CN 111966489 A 7 运行配置的预设脚本的方式, 使得预设脚本执行上述预设命令, 以实现对所述预设广播消 息进行广播。 0069 此外, 除了需要事先在应用程序客户端内布设广播接收器, 用于接收预设广播消 息, 以及需要控制端设备可以执行预设命令, 对预设广播消息进行。
25、广播之外, 还需要在控制 端设备和待测试终端设备之间建立通信连接, 例如将控制端设备和待测试终端设备置于同 一个局域网内, 在一种实施方式中, 可以采用将控制端设备和待测试终端设备通过USB连接 的方式, 如此, 便能够实现控制端设备根据预设命令对预设广播消息进行广播, 并使应用程 序客户端通过广播接收器接收预设广播消息, 应用程序客户端通过广播接收器接收预设广 播消息的过程即对预设广播消息进行监听的过程。 0070 步骤S22, 在监听到所述预设广播消息时, 调用预设应用程序接口API, 以触发对所 述应用程序客户端占用的内存进行垃圾回收。 0071 预设应用程序接口API可以是内存垃圾回收。
26、接口API, 例如可以是Java API “Runtime.getRuntime().gc()” 。 0072 本实施例中, 事先建立预设应用程序接口API的调用操作与预设广播消息之间的 关联关系, 如此, 应用程序客户端在监听到预设广播消息之后, 便可以根据关联关系直接调 用预设应用程序接口API, 从而触发对应用程序客户端占用的内存进行垃圾回收。 0073 结合以上实施例, 在完成上述设置之后, 即至少完成在应用程序客户端内布设广 播接收器, 在控制端设备可以执行预设命令, 对预设广播消息进行广播, 在控制端设备和待 测试终端设备之间建立通信连接, 以及事先建立预设应用程序接口API的调用。
27、操作与预设 广播消息之间的关联关系之后, 便可以在控制端实现对应用程序客户端占用的内存进行垃 圾回收的触发操作, 从而实现对应用程序客户端占用的内存进行垃圾回收操作的管理。 0074 实际使用中, 在控制端需要对待测试应用程序客户端占用的内存进行垃圾回收 时, 例如在对待测试应用程序进行内存占用的监控测试之前, 设计人员可以在控制端输入 内存管理指令, 例如在控制端提供的用户界面输入内存管理指令, 此时, 控制端便能够获得 内存管理指令, 并执行预设命令, 从而对预设广播消息进行广播。 0075 同时, 终端设备上安装的应用程序客户端内布设的广播接收器能够持续对预设广 播消息进行监听, 当控制。
28、端执行预设命令, 对预设广播消息进行广播之后, 广播接收器便能 够监听到控制端广播的预设广播消息, 此时, 应用程序客户端调用预设应用程序接口API, 触发对所述应用程序客户端占用的内存进行垃圾回收。 0076 采用本实施例的内存管理方法, 应用程序客户端能够在监听到预设广播消息之 后, 便能够调用预设应用程序接口API, 触发应用程序客户端占用的内存进行垃圾回收, 本 申请是以控制端设备发送预设广播消息、 由待测试终端设备接收预设广播消息的方式实现 对待测试应用程序占用的内存的垃圾回收的控制, 由于控制端发送预设广播给待测试终端 设备监听不需要待测试终端设备具有root权限, 因此, 解决了。
29、传统方案需要root权限的局 限。 0077 结合以上实施例, 在调用预设应用程序接口API, 以触发对所述应用程序客户端占 用的内存进行垃圾回收之后, 为了使设计人员能够获得垃圾回收后应用程序客户端占用的 准确内存, 在一种实施方式中, 本申请的内存管理方法还可以执行以下步骤: 0078 步骤S23, 对所述应用程序客户端占用的内存进行垃圾回收。 说明书 5/9 页 8 CN 111966489 A 8 0079 步骤S24, 输出对所述应用程序客户端占用的内存经垃圾回收后的参数值, 和/或, 将所述应用程序客户端占用的内存经垃圾回收后的参数值发送给所述控制设备。 0080 本实施例中, 在。
30、触发对所述应用程序客户端占用的内存进行垃圾回收之后, 内存 垃圾回收进程便可以对应用程序客户端中无用的垃圾对象进行回收, 例如可以回收无任何 引用的对象占据的内存空间。 0081 在完成对应用程序客户端占用的内存进行垃圾回收之后, 待测试终端设备便能够 获取到应用程序客户端占用的准确内存, 即应用程序客户端进行垃圾回收后占用的内存的 参数值, 接着, 待测试终端设备便可以直接在显示界面输出应用程序客户端进行垃圾回收 后占用的内存的参数值, 直接供设计人员在待测试终端设备上查看, 和/或, 将应用程序客 户端进行垃圾回收后占用的内存的参数值发送给控制端设备, 控制端设备接收应用程序客 户端进行垃。
31、圾回收后占用的内存的参数值后, 可以直接显示在控制端设备的显示界面, 以 供设计人员在控制端设备的显示界面进行查看。 0082 基于同一发明构思, 参考图3, 图3是本申请一实施例提出另一种内存管理方法的 流程图。 图3所示的方法主要应用于控制设备一侧, 如图3所示, 该方法包括以下步骤: 0083 步骤S31, 获得内存管理指令, 所述内存管理指令用于对与所述控制设备通信连接 的终端设备上安装的应用程序客户端占用的内存进行管理; 0084 步骤S32, 执行预设命令, 对预设广播消息进行广播, 以使所述应用程序客户端监 听到所述预设广播消息时, 触发对自身占用的内存进行垃圾回收。 0085 。
32、本实施例的具体内容可以参见上述步骤S21和步骤S22的内容, 这里不再赘述。 0086 此外, 为了简化使用预设命令对广播消息进行广播的操作, 例如简化使用预设adb 命令对广播消息进行广播的操作, 在一种实施方式中, 本申请的内存管理方法还可以包括 以下步骤: 0087 步骤S301, 配置预设脚本。 0088 相应地, 上述步骤S32具体可以包括: 0089 步骤S302, 运行所述预设脚本, 通过所述预设脚本执行所述预设命令, 对所述预设 广播消息进行广播。 0090 同样地, 本实施例的具体内容可以参见上述步骤S21和步骤S22的内容, 这里不再 赘述。 0091 此外, 在运行预设脚。
33、本, 通过预设脚本执行所述预设命令, 对所述预设广播消息进 行广播之后, 为了使设计人员能够获得垃圾回收后应用程序客户端占用的准确内存, 在一 种实施方式中, 本申请的内存管理方法还可以执行以下步骤: 0092 步骤S33, 接收所述终端设备返回的对所述应用程序客户端占用的内存经垃圾回 收后的参数值。 0093 同样地, 本实施例的具体内容可以参见上述步骤S21和步骤S22的内容, 这里不再 赘述。 0094 采用本实施例的内存管理方法, 控制设备在获得内存管理指令之后, 能够执行预 设命令, 对预设广播消息进行广播, 进而使得应用程序客户端能够监听到预设广播消息, 从 而触发对自身占用的内存。
34、进行垃圾回收。 本申请是以控制端设备广播预设广播消息、 由待 测试终端设备接收预设广播消息的方式实现对待测试应用程序占用的内存的垃圾回收的 说明书 6/9 页 9 CN 111966489 A 9 控制, 由于控制端发送预设广播给待测试终端设备监听不需要待测试终端设备具有root权 限, 因此, 解决了传统方案需要root权限的局限。 0095 此外, 在控制端设备对预设广播消息进行广播之后, 能够接收终端设备返回的对 应用程序客户端占用的内存经垃圾回收后的参数值, 以便在显示界面将应用程序客户端占 用的内存经垃圾回收后的参数值显示给设计人员, 使得设计人员可以获取到应用程序客户 端经垃圾回收。
35、后占用的准确内存。 0096 最后, 用一个实际的例子对本申请的内存管理方法过程进行详细描述: 0097 设计人员首先在待测试应用程序代码内新增一个广播接收器, 该广播接收器设置 为只接收特定的广播ACTION “com.dianping.v1.force.gc” , 并且, 在应用程序客户端内建 立特定的广播ACTION与调用Java API “Runtime.getRuntime().gc()” 的关联关系, 即只要 广播接收器接收到 “com.dianping.v1.force.gc” , 便调用Java API “Runtime.getRuntime ().gc()” , 执行待测试应。
36、用程序的垃圾回收。 0098 此外, 在一个安卓手机上安装待测试应用程序客户端, 同时将安卓手机与一台安 装有adb工具, 且能够运行脚本或者命令行的控制端PC通过USB连接。 至此, 准备工作完成。 0099 设计人员在需要对待测试应用程序进行垃圾回收时, 在PC上输入预设命令 “adb shell am broadcast-a com.dianping.v1.force.gc” , 即可通过脚本执行命令, 从而广播 “com.dianping.v1.force.gc” 。 0100 接着, 广播接收器便能够监听到 “com.dianping.v1.force.gc” , 进而调用Java 。
37、API “Runtime.getRuntime().gc(), 执行待测试应用程序进行垃圾回收。 0101 本实施例中, 由于通过adb发送广播是不需要root权限的, 在需要触发待测试应用 程 序 进 行 垃 圾 回 收 时 , 在 P C 上 通 过“ a d b s h e l l a m b r o a d c a s t - a com.dianping.v1.force.gc” 发送特定ACTION广播即可, 巧妙完美的解决了传统方案需要 root权限的局限。 0102 基于同一发明构思, 本申请一实施例提供一种内存管理装置。 参考图4, 图4是本申 请一实施例提出的一种内存管理装。
38、置40的示意图。 如图4所示, 该装置包括: 0103 监听模块41, 用于对预设广播消息进行监听; 0104 触发模块42, 用于在监听到所述预设广播消息时, 调用预设应用程序接口API, 以 触发对所述应用程序客户端占用的内存进行垃圾回收。 0105 可选地, 所述装置还包括: 0106 布设模块, 用于在所述应用程序客户端内布设广播接收器, 所述广播接收器用于 对所述预设广播消息进行监听; 0107 通信连接建立模块, 用于与控制设备建立通信连接, 所述控制设备用于对所述预 设广播消息进行广播。 0108 可选地, 所述装置还包括: 0109 垃圾回收模块, 用于对所述应用程序客户端占用。
39、的内存进行垃圾回收; 0110 输出发送模块, 用于输出对所述应用程序客户端占用的内存经垃圾回收后的参数 值, 和/或, 将所述应用程序客户端占用的内存经垃圾回收后的参数值发送给所述控制设 备。 0111 基于同一发明构思, 本申请一实施例提供另一种内存管理装置。 参考图5, 图5是本 说明书 7/9 页 10 CN 111966489 A 10 申请一实施例提出的另一种内存管理装置50的示意图。 如图5所示, 该装置包括: 0112 获得模块51, 用于获得内存管理指令, 所述内存管理指令用于对与所述控制设备 通信连接的终端设备上安装的应用程序客户端占用的内存进行管理; 0113 广播模块5。
40、2, 用于执行预设命令, 对预设广播消息进行广播, 以使所述应用程序客 户端监听到所述预设广播消息时, 触发对自身占用的内存进行垃圾回收。 0114 可选地, 所述装置还包括: 0115 配置模块, 用于配置预设脚本; 0116 所述广播模块, 包括: 0117 广播子模块, 用于运行所述预设脚本, 通过所述预设脚本执行所述预设命令, 对所 述预设广播消息进行广播。 0118 可选地, 所述装置还包括: 0119 接收模块, 用于接收所述终端设备返回的对所述应用程序客户端占用的内存经垃 圾回收后的参数值。 0120 基于同一发明构思, 本申请另一实施例提供一种计算机可读存储介质, 其上存储 有。
41、计算机程序, 该程序被处理器执行时实现如本申请上述任一实施例所述的方法中的步 骤。 0121 基于同一发明构思, 本申请另一实施例提供一种电子设备, 包括存储器、 处理器及 存储在存储器上并可在处理器上运行的计算机程序, 所述处理器执行时实现本申请上述任 一实施例所述的方法中的步骤。 0122 对于装置实施例而言, 由于其与方法实施例基本相似, 所以描述的比较简单, 相关 之处参见方法实施例的部分说明即可。 0123 本说明书中的各个实施例均采用递进的方式描述, 每个实施例重点说明的都是与 其他实施例的不同之处, 各个实施例之间相同相似的部分互相参见即可。 0124 本领域内的技术人员应明白,。
42、 本申请实施例的实施例可提供为方法、 装置、 或计算 机程序产品。 因此, 本申请实施例可采用完全硬件实施例、 完全软件实施例、 或结合软件和 硬件方面的实施例的形式。 而且, 本申请实施例可采用在一个或多个其中包含有计算机可 用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、 CD-ROM、 光学存储器等)上 实施的计算机程序产品的形式。 0125 本申请实施例是参照根据本申请实施例的方法、 终端设备(系统)、 和计算机程序 产品的流程图和/或方框图来描述的。 应理解可由计算机程序指令实现流程图和/或方框图 中的每一流程和/或方框、 以及流程图和/或方框图中的流程和/或方框的结合。 可。
43、提供这些 计算机程序指令到通用计算机、 专用计算机、 嵌入式处理机或其他可编程数据处理终端设 备的处理器以产生一个机器, 使得通过计算机或其他可编程数据处理终端设备的处理器执 行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中 指定的功能的装置。 0126 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备 以特定方式工作的计算机可读存储器中, 使得存储在该计算机可读存储器中的指令产生包 括指令装置的制造品, 该指令装置实现在流程图一个流程或多个流程和/或方框图一个方 框或多个方框中指定的功能。 说明书 8/9 页 11 CN 111966489 。
44、A 11 0127 这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上, 使得 在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理, 从而在 计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程 和/或方框图一个方框或多个方框中指定的功能的步骤。 0128 尽管已描述了本申请实施例的优选实施例, 但本领域内的技术人员一旦得知了基 本创造性概念, 则可对这些实施例做出另外的变更和修改。 所以, 所附权利要求意欲解释为 包括优选实施例以及落入本申请实施例范围的所有变更和修改。 0129 最后, 还需要说明的是, 在本文中, 诸如第一和第二等。
45、之类的关系术语仅仅用来将 一个文本或者操作与另一个文本或操作区分开来, 而不一定要求或者暗示这些文本或操作 之间存在任何这种实际的关系或者顺序。 而且, 术语 “包括” 、“包含” 或者其任何其他变体意 在涵盖非排他性的包含, 从而使得包括一系列要素的过程、 方法、 物品或者终端设备不仅包 括那些要素, 而且还包括没有明确列出的其他要素, 或者是还包括为这种过程、 方法、 物品 或者终端设备所固有的要素。 在没有更多限制的情况下, 由语句 “包括一个” 限定的要 素, 并不排除在包括所述要素的过程、 方法、 物品或者终端设备中还存在另外的相同要素。 0130 以上对本申请所提供的一种内存管理方法、 装置、 计算机可读存储介质和电子设 备, 进行了详细介绍, 本文中应用了具体个例对本申请的原理及实施方式进行了阐述, 以上 实施例的说明只是用于帮助理解本申请的方法及其核心思想; 同时, 对于本领域的一般技 术人员, 依据本申请的思想, 在具体实施方式及应用范围上均会有改变之处, 综上所述, 本 说明书内容不应理解为对本申请的限制。 说明书 9/9 页 12 CN 111966489 A 12 图1 图2 图3 说明书附图 1/2 页 13 CN 111966489 A 13 图4 图5 说明书附图 2/2 页 14 CN 111966489 A 14 。
- 内容关键字: 内存 管理 方法 装置 电子设备 计算机 可读 存储 介质
地基侧壁防坍塌的支护板.pdf
快拆式刀具组件.pdf
可伸缩导向装置.pdf
长度小的望远镜.pdf
新型的物料吸取、翻转装置.pdf
硅粉制备除尘系统.pdf
居中夹紧机构.pdf
多方位调节式化纤面料圆筒针织机导纱器.pdf
单轴承反射式绝对值编码器.pdf
带自调节头罩的按摩椅.pdf
用于水力集矿装置测试的试验水槽.pdf
环卫用垃圾固液分离装置.pdf
糖浆原料液混合搅拌装置.pdf
具有防偏移功能的不锈钢板料下料装置.pdf
器械清洗装置.pdf
半导体器件散热装置.pdf
防撞的建筑工程防护支架.pdf
GJB 73771射频识别空中接口协议标准的液态生物样本射频标签.pdf
用于电源柜的接地式支撑结构.pdf
便于携带的钢构焊接装置.pdf
三体保温磁力泵.pdf
用于饲料生产的混合搅拌装置.pdf
环控天线射频前端组件及系统.pdf
储能电池的放电策略制定方法、装置及电子设备.pdf
基于深浅层特征融合的浮选过程工况识别方法.pdf
集成MEMS-CMOS的气体传感器芯片及制备方法.pdf
路侧车辆停泊监测方法、系统、计算机系统及存储介质.pdf
基于动态遥感技术的国土测绘方法、系统及存储介质.pdf
含有撕裂检测功能的矿用皮带输送机及方法.pdf
低Pt负载MXene-碳纳米管气凝胶薄膜及制备方法和应用.pdf
医疗废物处理装置.pdf
空心型材挤压模具分流孔快速优化方法.pdf
一种一孔两用的隧洞排水孔结构.pdf
钢管桩围堰结构.pdf
一种生态砌块.pdf
一种铁路桥梁用泄水管.pdf
一种卷帘门的抗风装置.pdf
一种掺有非预应力钢筋的管桩钢筋笼.pdf
大型沉管隧道管段基础.pdf
汽车手套箱开启装置.pdf
城市道路上空花园式电动跃层停车商务楼.pdf
蒸压加气砌块砌窗结构.pdf
一种升降式旋转室外消火栓.pdf
框架结构T型连接柱.pdf
防静电地板吸板器.pdf
一种建筑用箱体或井口预留孔洞活动模具.pdf
速成拉建房屋.pdf
预制桥面板精轧螺纹钢筋弧形连接构造.pdf
一种内固定式伸缩门滑行导轨及伸缩门.pdf
多用途封井器.pdf
一种新型圆弧建筑模板紧固件.pdf