说明:收录全网最新的团体标准 提供单次或批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211179579.3 (22)申请日 2022.09.27 (71)申请人 荣耀终端 有限公司 地址 518040 广东省深圳市福田区香蜜湖 街道东海社区红荔西路8089号深业中 城6号楼A单元3401 (72)发明人 种洋 朱金鹏 程飞飞  (74)专利代理 机构 上海音科专利商标代理有限 公司 31267 专利代理师 贾玉 (51)Int.Cl. G06F 9/50(2006.01) G06F 12/02(2006.01) (54)发明名称 内存回收方法、 电子设备及计算机可读存储 介质 (57)摘要 本申请涉及存储器垃圾回收技术领域, 尤其 涉及一种 内存回收方法、 电子设备及其介质。 在 该方法中, 电子设备结合当前的运行状态, 以及 各应用程序在触发对应进程的GC线程时发生卡 顿后影响用户体验的程度, 决定是否触发GC。 如 果电子设备是高负载的使用场景, 例如CPU使用 率较高, 或当前应用程序在触发对应进程的GC线 程时发生卡顿后影 响用户体验的程度较高, 则延 迟触发GC。 如果电子设备不是高负载的使用场 景, 例如CP U使用率较低, 且当前应用程序在触发 对应进程的GC线程时发生卡顿后影响用户体验 的程度较低, 则触发并执行GC实现堆内存回收。 通过上述方法, 减少GC实 际运行时长, 提高GC效 率, 并且避免触发GC时执行的线程发生卡顿影 响 用户操作体验。 权利要求书1页 说明书14页 附图8页 CN 115292052 A 2022.11.04 CN 115292052 A 1.一种内存回收方法, 应用于电子设备, 其特 征在于, 包括: 运行第一应用程序; 在所述第一应用程序对应的第 一进程的堆内存使用数据满足内存回收条件的情况下, 获取当前电子设备运行状态数据以及所述第一进程对应的第一线程的运行状态数据; 对应于所述电子设备的运行状态以及所述第一线程的运行状态满足延迟回收触发条 件, 延迟触发所述第一进程的垃圾回收线程, 对应于所述电子设备的运行状态以及所述第一线程的运行状态不满足延迟回收触发 条件, 触发所述第一进程的垃圾回收线程。 2.根据权利要求1所述的方法, 其特征在于, 所述电子设备运行状态数据包括所述电子 设备的处理器的使用率, 所述第一线程的运行状态数据包括所述第一线程的类型, 所述延 迟回收触发条件 包括: 所述电子设备的处 理器使用率小于第一阈值或所述第一线程的类型 是预设类型。 3.根据权利要求1所述的方法, 其特征在于, 所述第 一进程的堆内存使用数据包括所述 第一进程的堆内存使用率, 所述内存回收条件包括所述第一进程的堆内存使用率大于或等 于预设堆内存使用率。 4.根据权利要求2所述的方法, 其特征在于, 所述第 一线程的类型包括所述第 一线程的 优先级, 所述第一线程的优先级是根据在执行所述第一线程的过程中发生中断时, 对用户 的影响程度确定的, 其中, 对用户的影响程度越高所述第一线程的优先级越高。 5.根据权利要求4所述的方法, 其特征在于, 预设类型的线程包括优先级大于或等于预 设优先级的线程。 6.根据权利要求2、 4或5中任一项所述的方法, 其特征在于, 所述第一线程的类型包括 所述第一线程对应的二进制编码, 所述预设类型包括预设的二进制编码。 7.根据权利要求1所述的方法, 其特征在于, 所述第一应用程序为预设类型的应用程 序。 8.根据权利要求7所述的方法, 其特征在于, 所述预设类型的应用程序不包括运行在所 述电子设备后台的应用程序。 9.一种计算机可读介质, 其特征在于, 所述计算机可读介质上存储有指令, 该指令在计 算机上执行时使计算机执 行权利要求1至8中任一项所述的内存回收方法。 10.一种电子设备, 其特 征在于, 所述电子设备包括: 存储器, 用于存 储由电子设备的一个或多个处 理器执行的指令, 以及, 一个或多个处理器, 用于执行所述存储器中存储的指令, 使得所述电子设备执行如权 利要求1至8中任一项所述的内存回收方法。 11.一种计算机程序产品, 其特征在于, 当计算机程序产品在电子设备上运行时, 使得 电子设备 执行如权利要求1至8中任一项所述的内存回收方法。权 利 要 求 书 1/1 页 2 CN 115292052 A 2内存回收方法、 电子设备及计算机可 读存储介质 技术领域 [0001]本申请涉及存储器垃圾回收 (garbage  collection, GC) 技术领域, 尤其涉及一种 内存回收方法、 电子设备及计算机可读存 储介质。 背景技术 [0002]垃圾回收 (garbage  collection, GC) 是一种存储器管理机制。 当某个应用程序占 用的内存空间不再继续被该应用程序访问的时候, 该应用程序会自动触发GC机制, 回收这 部分不再被使用的内存, 以使其 他应用程序能够使用这些空 闲内存, 提高 内存使用率。 [0003]但是, 目前的GC触 发机制较为单一, 因此存在 触发GC时机不当, 导致前台正在运行 的应用程序出现卡顿或者GC实际运行的时长大大增加影响内存回收的效率, 进而影响用户 体验。 发明内容 [0004]为了解决上述问题, 本申请提供一种内存回收方法、 电子设备及计算机可读存储 介质。 [0005]第一方面, 本申请实施例提供了一种内存回收方法, 应用于电子设备, 该方法包 括: 运行第一应用程序; 在第一应用程序对应的第一进程的堆内存使用数据满足内存回收 条件的情况下, 获取当前电子 设备运行状态数据以及第一进程对应的第一线程的运行状态 数据; 对应于电子设备 的运行状态以及第一线程的运行状态满足延迟回收触发条件, 延迟 触发第一线程的垃圾回收线程, 对应于电子设备的运行状态以及第一线程的运行状态不满 足延迟回收触发条件, 触发第一线程的垃圾回收线程。 [0006]在一些实现方式中, 电子设备包括但不限于智能手机、 平板电脑等设备, 本申请对 此不作限制。 [0007]在一些实现方式中, 第一应用程序包括但不限于购物应用、 聊天应用等应用程序, 本申请对此不作限制。 [0008]可以理解, 运行第一应用程序, 系统会为该应用程序创建对应的进程, 并且为该进 程分配堆内存使用空间。 在该进程使用的堆内存大小 大于或等于该进程对应的GC水线值的 情况下, 即认为第一应用程序的进程的堆内存使用数据满足 内存回收条件。 其中, GC水线值 是根据该进程当前使用的堆内存大小以及预设的堆内存使用率 (即下文的目标利用率) 确 定的。 因此, 在一些实现方式中, 也可以通过确定该进程对应的堆内存的使用率是否大于或 等于目标利用率, 确定第一应用程序的进程的堆内存使用数据是否满足内存回收条件。 当 该进程对应的堆内存的使用率大于或等于目标利用率的情况下, 确定第一应用程序的进程 的堆内存使用数据满足内存回收条件。 [0009]在一些实现方式中, 在确定第一应用程序的第一进程的堆内存使用数据满足内存 回收条件的情况下, 进一步根据当前电子 设备的运行状态以及当前第一进程对应的第一线 程的运行状态, 确定是否触发并执 行垃圾回收线程。说 明 书 1/14 页 3 CN 115292052 A 3

.PDF文档 专利 内存回收方法、电子设备及计算机可读存储介质

文档预览
中文文档 24 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共24页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 内存回收方法、电子设备及计算机可读存储介质 第 1 页 专利 内存回收方法、电子设备及计算机可读存储介质 第 2 页 专利 内存回收方法、电子设备及计算机可读存储介质 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:12:06上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。