资源监控方法、装置、电子设备及存储介质制造方法及图纸

技术编号:24455092 阅读:25 留言:0更新日期:2020-06-10 15:19
本申请提供一种资源监控方法、装置、电子设备及存储介质。目标应用程序运行期间,调用监测代码监测资源申请操作以及资源释放操作;根据资源申请操作的操作结果与资源释放操作的操作结果,对预设存储位置中的资源标识进行更新,资源标识与待释放的资源相对应;在目标应用程序退出时,检测该预设存储位置中记录的资源标识是否为空;若该预设存储位置中记录的资源标识不为空,则向用户提供资源未完全释放的提示信息。如此,实现对目标应用程序中未释放资源的监控。

Resource monitoring methods, devices, electronic equipment and storage media

【技术实现步骤摘要】
资源监控方法、装置、电子设备及存储介质
本申请涉及计算机领域,具体而言,涉及一种资源监控方法、装置、电子设备及存储介质。
技术介绍
程序运行期间,需要申请一些必要的资源,并在使用之后进行释放。例如,常见的文件访问操作以及数据库访问操作等。若申请的资源在使用之后未进行释放,则会发生资源泄露。在发生资源泄露之后,其他程序若再次申请该资源,则会申请失败,继而影响其他程序的正常运行。目前,开发人员在开发过程中凭靠记忆来确保资源使用完毕后,释放申请的资源。该方式难免会因为开发人员的疏忽,发生资源泄露。因此,如何获知程序运行过程中是否发生资源泄露对程序的稳定运行具有重要意义。
技术实现思路
为了克服现有技术中的至少一个不足,本申请实施例的目的之一在于提供一种资源监控方法,应用于电子设备,该电子设备配置有目标应用程序,该目标应用程序中包括监测代码,所述监测代码在该目标应用程序编译期间插入到该目标应用程序源代码的预设位置,用以拦截该目标应用程序执行的资源申请操作以及资源释放操作,所述方法包括:该目标应用程序运行期间,调用所述监测代码监测所述资源申请操作以及所述资源释放操作;根据所述资源申请操作的操作结果与所述资源释放操作的操作结果,对预设存储位置中的资源标识进行更新,所述资源标识与待释放的资源相对应;在所述目标应用程序退出时,检测该预设存储位置中记录的资源标识是否为空;若该预设存储位置中记录的资源标识不为空,则向用户提供资源未完全释放的提示信息。可选地,所述资源申请操作以及所述资源释放操作由所述电子设备调用目标对象完成,该目标对象在所述目标应用程序运行时基于计算机语言编写的类创建;所述调用所述监测代码监测所述资源申请操作以及所述资源释放操作的步骤,包括:调用所述监测代码监测该目标对象所执行的所述资源申请操作以及所述资源释放操作。可选地,所述目标应用程序运行于Android操作系统,所述目标对象与该目标应用程序中的目标Java类相对应,所述目标Java类为所述Android操作系统中Closeable接口的实现类。可选地,所述调用所述监测代码监测所述资源申请操作以及所述资源释放操作的步骤包括:通过所述监测代码拦截该目标对象执行openFileOutput()方法以及执行close()方法,监测该目标对象所执行的所述资源申请操作以及所述资源释放操作。可选地,所述监测代码由工具AspectJ在该目标应用程序编译期间插入到该目标应用程序的序源代码的预设位置。可选地,所述提示信息携带有所述目标对象的Java栈调用信息。可选地,该电子设备与服务器通信连接,若该预设存储位置中记录的资源标识不为空,则向用户提供资源未完全释放的提示信息的步骤,包括:若该预设存储位置中记录的资源标识不为空,则向所述服务器发送资源未完全释放的提示信息,以使所述服务器提醒所述用户。可选地,所述方法还包括:若该预设存储位置中记录的资源标识不为空,则根据该预设存储位置中记录的资源标识将对应的待释放的资源进行释放。本申请实施例的目的之二在于提供一种资源监控装置,应用于电子设备,该电子设备配置有目标应用程序,该目标应用程序中包括监测代码,所述监测代码在该目标应用程序编译期间插入到该目标应用程序源代码的预设位置,用以拦截该目标应用程序执行的资源申请操作以及资源释放操作,所述资源监控装置包括操作监测模块、标识更新模块、标识检测模块以及信息提示模块;所述操作监测模块用于该目标应用程序运行期间,调用所述监测代码监测所述资源申请操作以及所述资源释放操作;所述标识更新模块用于根据所述资源申请操作的操作结果与所述资源释放操作的操作结果,对预设存储位置中的资源标识进行更新,所述资源标识与待释放的资源相对应;所述标识检测模块用于在所述目标应用程序退出时,检测该预设存储位置中记录的资源标识是否为空;所述信息提示模块用于若该预设存储位置中记录的资源标识不为空,则向用户提供资源未完全释放的提示信息。本申请实施例的目的之三在于提供一种电子设备,该电子设备包括处理器以及存储器,该存储器存储有能够被该处理器执行的机器可执行指令,该处理器执行该机器可执行指令时,实现该资源监控方法。本申请实施例的目的之四在于提供一种存储介质,该存储介质存储有计算机程序,该计算机程序被执行时,实现该资源监控方法。相对于现有技术而言,本申请具有以下有益效果:本申请实施例提供一种资源监控方法、装置、电子设备及存储介质。通过该监测代码拦截该应用软件在运行期间的资源申请操作以及资源释放操作,实现对该目标应用程序的运行过程的监控,并将待释放的资源标识记录到预设位置。在目标应用程序退出时,检测该预设位置中的资源标识是否为空,以监测是否存在资源泄露。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本申请实施例提供的电子设备的硬件结构图;图2为本申请实施例提供的资源监控方法的步骤流程图;图3为本申请实施例提供的操作监控示意图;图4为本申请实施例提供的资源监控装置的结构示意图。图标:100-电子设备;110-资源监控装置;120-存储器;130-处理器;1101-操作监测模块;1102-标识更新模块;1103-标识检测模块;1104-信息提示模块。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。如
技术介绍
部分所述介绍,如何获知程序运行过程中是否发生资源泄露对程序的稳定运行具有重要意义。鉴于此,本申请实施例提供一种资源监控方法,应用于电子设备。该电子设备100可以是,但不限于,智能手机、个人电脑(personalcomputer,PC)、平板电脑、个人数字助理(personaldigitalassistant,PDA)、移动上网设备(mobileInternetdevice,MID)等。请参照图1,图1为该电子设备的硬件结构示意图,包括资源本文档来自技高网
...

【技术保护点】
1.一种资源监控方法,其特征在于,应用于电子设备,该电子设备配置有目标应用程序,该目标应用程序中包括监测代码,所述监测代码在该目标应用程序编译期间插入到该目标应用程序源代码的预设位置,用以拦截该目标应用程序执行的资源申请操作以及资源释放操作,所述方法包括:/n该目标应用程序运行期间,调用所述监测代码监测所述资源申请操作以及所述资源释放操作;/n根据所述资源申请操作的操作结果与所述资源释放操作的操作结果,对预设存储位置中的资源标识进行更新,所述资源标识与待释放的资源相对应;/n在所述目标应用程序退出时,检测该预设存储位置中记录的资源标识是否为空;/n若该预设存储位置中记录的资源标识不为空,则向用户提供资源未完全释放的提示信息。/n

【技术特征摘要】
1.一种资源监控方法,其特征在于,应用于电子设备,该电子设备配置有目标应用程序,该目标应用程序中包括监测代码,所述监测代码在该目标应用程序编译期间插入到该目标应用程序源代码的预设位置,用以拦截该目标应用程序执行的资源申请操作以及资源释放操作,所述方法包括:
该目标应用程序运行期间,调用所述监测代码监测所述资源申请操作以及所述资源释放操作;
根据所述资源申请操作的操作结果与所述资源释放操作的操作结果,对预设存储位置中的资源标识进行更新,所述资源标识与待释放的资源相对应;
在所述目标应用程序退出时,检测该预设存储位置中记录的资源标识是否为空;
若该预设存储位置中记录的资源标识不为空,则向用户提供资源未完全释放的提示信息。


2.根据权利要求1所述的资源监控方法,其特征在于,所述资源申请操作以及所述资源释放操作由所述电子设备调用目标对象完成,该目标对象在所述目标应用程序运行时基于计算机语言编写的类创建;所述调用所述监测代码监测所述资源申请操作以及所述资源释放操作的步骤,包括:
调用所述监测代码监测该目标对象所执行的所述资源申请操作以及所述资源释放操作。


3.根据权利要求2所述的资源监控方法,其特征在于,所述目标应用程序运行于Android操作系统,所述目标对象与该目标应用程序中的目标Java类相对应,所述目标Java类为所述Android操作系统中Closeable接口的实现类。


4.根据权利要求3所述的资源监控方法,其特征在于,所述调用所述监测代码监测所述资源申请操作以及所述资源释放操作的步骤包括:
通过所述监测代码拦截该目标对象执行openFileOutput()方法以及执行close()方法,监测该目标对象所执行的所述资源申请操作以及所述资源释放操作。


5.根据权利要求3所述的资源监控方法,其特征在于,所述监测代码由工具AspectJ在该目标应用程序编译期间插入到该目标应用程序的序源代码的预设位置。


6.根据权利要求3所...

【专利技术属性】
技术研发人员:王道新
申请(专利权)人:广州虎牙科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1