[发明专利]资源监控方法、装置、电子设备及存储介质在审
申请号: | 202010018758.3 | 申请日: | 2020-01-08 |
公开(公告)号: | CN111258752A | 公开(公告)日: | 2020-06-09 |
发明(设计)人: | 王道新 | 申请(专利权)人: | 广州虎牙科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F11/30 |
代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 张欣欣 |
地址: | 511400 广东省广州市番禺*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 资源 监控 方法 装置 电子设备 存储 介质 | ||
本申请提供一种资源监控方法、装置、电子设备及存储介质。目标应用程序运行期间,调用监测代码监测资源申请操作以及资源释放操作;根据资源申请操作的操作结果与资源释放操作的操作结果,对预设存储位置中的资源标识进行更新,资源标识与待释放的资源相对应;在目标应用程序退出时,检测该预设存储位置中记录的资源标识是否为空;若该预设存储位置中记录的资源标识不为空,则向用户提供资源未完全释放的提示信息。如此,实现对目标应用程序中未释放资源的监控。
技术领域
本申请涉及计算机领域,具体而言,涉及一种资源监控方法、装置、电子设备及存储介质。
背景技术
程序运行期间,需要申请一些必要的资源,并在使用之后进行释放。例如,常见的文件访问操作以及数据库访问操作等。若申请的资源在使用之后未进行释放,则会发生资源泄露。在发生资源泄露之后,其他程序若再次申请该资源,则会申请失败,继而影响其他程序的正常运行。
目前,开发人员在开发过程中凭靠记忆来确保资源使用完毕后,释放申请的资源。该方式难免会因为开发人员的疏忽,发生资源泄露。因此,如何获知程序运行过程中是否发生资源泄露对程序的稳定运行具有重要意义。
发明内容
为了克服现有技术中的至少一个不足,本申请实施例的目的之一在于提供一种资源监控方法,应用于电子设备,该电子设备配置有目标应用程序,该目标应用程序中包括监测代码,所述监测代码在该目标应用程序编译期间插入到该目标应用程序源代码的预设位置,用以拦截该目标应用程序执行的资源申请操作以及资源释放操作,所述方法包括:
该目标应用程序运行期间,调用所述监测代码监测所述资源申请操作以及所述资源释放操作;
根据所述资源申请操作的操作结果与所述资源释放操作的操作结果,对预设存储位置中的资源标识进行更新,所述资源标识与待释放的资源相对应;
在所述目标应用程序退出时,检测该预设存储位置中记录的资源标识是否为空;
若该预设存储位置中记录的资源标识不为空,则向用户提供资源未完全释放的提示信息。
可选地,所述资源申请操作以及所述资源释放操作由所述电子设备调用目标对象完成,该目标对象在所述目标应用程序运行时基于计算机语言编写的类创建;所述调用所述监测代码监测所述资源申请操作以及所述资源释放操作的步骤,包括:
调用所述监测代码监测该目标对象所执行的所述资源申请操作以及所述资源释放操作。
可选地,所述目标应用程序运行于Android操作系统,所述目标对象与该目标应用程序中的目标Java类相对应,所述目标Java类为所述Android操作系统中Closeable接口的实现类。
可选地,所述调用所述监测代码监测所述资源申请操作以及所述资源释放操作的步骤包括:
通过所述监测代码拦截该目标对象执行openFileOutput()方法以及执行close()方法,监测该目标对象所执行的所述资源申请操作以及所述资源释放操作。
可选地,所述监测代码由工具AspectJ在该目标应用程序编译期间插入到该目标应用程序的序源代码的预设位置。
可选地,所述提示信息携带有所述目标对象的Java栈调用信息。
可选地,该电子设备与服务器通信连接,若该预设存储位置中记录的资源标识不为空,则向用户提供资源未完全释放的提示信息的步骤,包括:
若该预设存储位置中记录的资源标识不为空,则向所述服务器发送资源未完全释放的提示信息,以使所述服务器提醒所述用户。
可选地,所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州虎牙科技有限公司,未经广州虎牙科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010018758.3/2.html,转载请声明来源钻瓜专利网。