CN107480035A - 一种图片占用内存情况的查看方法 - Google Patents

一种图片占用内存情况的查看方法 Download PDF

Info

Publication number
CN107480035A
CN107480035A CN201710727616.2A CN201710727616A CN107480035A CN 107480035 A CN107480035 A CN 107480035A CN 201710727616 A CN201710727616 A CN 201710727616A CN 107480035 A CN107480035 A CN 107480035A
Authority
CN
China
Prior art keywords
picture
image data
object image
memory
excel file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710727616.2A
Other languages
English (en)
Other versions
CN107480035B (zh
Inventor
李琛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Original Assignee
Guangzhou Youshi Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Youshi Network Technology Co Ltd filed Critical Guangzhou Youshi Network Technology Co Ltd
Priority to CN201710727616.2A priority Critical patent/CN107480035B/zh
Publication of CN107480035A publication Critical patent/CN107480035A/zh
Application granted granted Critical
Publication of CN107480035B publication Critical patent/CN107480035B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/323Visualisation of programs or trace data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种图片占用内存情况的查看方法。所述方法包括:将待检查硬件终端与安装有软件开发工具包的平台耦接;在该平台上运行该工具包以自动执行以下步骤:导出硬件终端中保存的原始格式的hprof文件并转换为内存分析工具可读取格式的hprof文件;调用内存分析工具打开可读取格式的hprof文件;根据与图片相关的类名找到该类名下的内存对象ID;提取出相关的对象图片;将提取出的对象图片数据按自定义规则排序;获取所述对象图片数据需要被查看的必要信息;将获取的所述对象图片数据的必要信息导出为Excel文件。

Description

一种图片占用内存情况的查看方法
技术领域
本发明涉及计算机技术领域,具体而言涉及一种图片占用内存情况的查看方法。
背景技术
在Android***中考核应用程序质量的一个重要指标就是内存占用,内存占用的大小很大程度上决定了该应用程序的流畅程度、进程存活率等。内存占用的较大数据是图片数据,这在应用开发中很容易出现内存泄露。快速地找到图片占用内存情况并加以分析和判断,这能够很大程度上缓解内存泄露问题。
但常规的图片占用内存情况的查找方式只能人工先找到对应图片对象,再去尝试手动取出对应元素,在相关的图片查看工具中转换成原始文档再进行查看图片,现有的图片占用内存情况的查看方式由于需要技术人员人工一步一步操作执行,其工作效率极其低下,而且也不便分析图片占用比例和其他数据。
发明内容
本发明的目的在于提供一种图片占用内存情况的查看方法,以改善上述问题。
本发明第一实施例提供了一种图片占用内存情况的查看方法,其包括:
将待查看图片占用内存情况的硬件终端与安装有预先构建的软件开发工具包的平台耦接,或者在待查看图片占用内存情况的硬件终端上安装预先构建的软件开发工具包,这样在所述平台上或者在所述硬件终端上运行所述软件开发工具包以自动执行以下步骤:
导出所述硬件终端中保存的原始格式的hprof文件并将其转换为内存分析工具可读取格式的hprof文件;
调用内存分析工具打开所述可读取格式的hprof文件;
找出与图片相关的类名,根据所述类名找到该类名下的内存对象ID;
根据内存对象ID提取出相关的对象图片数据;
将提取出的对象图片数据按自定义规则排序;
获取所述对象图片数据需要被查看的必要信息;
将获取的所述对象图片数据的必要信息导出为Excel文件。
其中,还包括:在将获取的所述对象图片数据的必要信息导出为Excel文件之前,将所述对象图片数据进行解码以形成可显示的图片信息并且与所获取的所述对象图片数据的必要信息一起导出为Excel文件,在该Excel文件中显示出具体图片内容。
其中,所述内存分析工具是单独安装在平台上或者是集成在所述软件开发工具包中。
其中,所述按自定义规则排序包括但不限于:按图片名称排序、按图片大小排序、或者按图片占用内存大小排序。
其中,所述被查看的必要信息包括但不限于:图片名称、图片高度和宽度、图片所在地址、图片占用内存大小、图片实际大小、引用关系。
本发明第二实施例提供了一种硬件设备,其上安装有预先构建的软件开发工具包,运行所述软件开发工具包以自动执行以下步骤:
导出在所述硬件设备中保存的原始格式的hprof文件或者导出在耦接至所述硬件设备的另一个硬件终端中保存的原始格式的hprof文件并将其转换为内存分析工具可读取格式的hprof文件;
调用内存分析工具打开所述可读取格式的hprof文件;
找出与图片相关的类名,根据所述类名找到该类名下的内存对象ID;
根据内存对象ID提取出相关的对象图片数据;
将提取出的对象图片数据按自定义规则排序;
获取所述对象图片数据需要被查看的必要信息;
将获取的所述对象图片数据的必要信息导出为Excel文件。
其中,运行所述软件开发工具包时还包括自动执行以下步骤:在将获取的所述对象图片数据的必要信息导出为Excel文件之前,将所述对象图片数据进行解码以形成可显示的图片信息并且与所获取的所述对象图片数据的必要信息一起导出为Excel文件,在该Excel文件中显示出具体图片内容。
其中,所述内存分析工具是单独安装在所述硬件设备上或者是集成在所述软件开发工具包中。
其中,所述按自定义规则排序包括但不限于:按图片名称排序、按图片大小排序、或者按图片占用内存大小排序。
其中,所述被查看的必要信息包括但不限于:图片名称、图片高度和宽度、图片所在地址、图片占用内存大小、图片实际大小、引用关系。
根据本发明提供的图片占用内存情况的查看方法和相应的硬件设备,避免了技术人员人工一步一步操作执行所带来的效率低下的不足,可以通过输入目标图片对象数据来一站式完成对目标图标对象占用内存情况的数据获取,并且可以生成Excel文件,便于技术人员随时随地查看目标图标对象占用内存情况,以有助于分析判断内存泄露点,为解决因为内存泄露而造成的内存资源耗尽、***崩溃的问题提供数据帮助。
附图说明
图1是本发明第一实施例提供的图片占用内存情况的查看方法的流程图;
图2是本发明第二实施例提供的图片占用内存情况的查看方法的流程图。
具体实施方式
下面将结合本发明实施例和附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明第一实施例提供的图片占用内存情况的查看方法的流程图。如图1所示,本发明的图片占用内存情况的查看方法包括:
S1:将待查看图片占用内存情况的硬件终端与安装有预先构建的软件开发工具包的平台耦接。
这里所述的平台可以包括但不限于各种类型的计算机或服务器,所述各种类型的计算机可以是例如台式计算机、膝上型计算机、便携式计算机等。
这里所述耦接的目的是可以在平台上读取接入到该平台上的待查看图片占用内存情况的硬件终端里的文件信息。该耦接方式可以是通过连接线或连接接口将待查看图片占用内存情况的硬件终端与所述平台连接,或者通过将待查看图片占用内存情况的硬件终端接入广域网或局域网等联网形式与所述平台连接,或者其他本领域技术人员公知的连接方式。
S2:在所述平台上运行所述软件开发工具包以自动执行以下步骤:
S2-1)导出所述硬件终端中保存的原始格式的hprof文件并将其转换为内存分析工具可读取格式的hprof文件;
当程序运行时将会在硬件终端的/data/misc目录下生成hprof文件,该hprof文件记录了被测应用的内存使用信息。
可以使用Android SDK提供的hprof-conv工具来实现格式的转换。例如,输入命令hprof-conv xxxxx.hprof yyyyy.hprof,其中xxxxx.hprof为原始文件,yyyyy.hprof为格式转换过后的文件。
所述内存分析工具可以使用公知的用于打开和分析hprof文件的任何工具,例如使用内存分析工具MAT(Memory Analyzer Tool)。
S2-2)调用内存分析工具打开所述可读取格式的hprof文件;
所述内存分析工具可以是单独安装在所述平台上,或者也可以是集成在所述软件开发工具包中。当然,所述内存分析工具也可以单独安装在所述硬件终端上。
S2-3)找出与图片相关的类名,根据所述类名找到该类名下的内存对象ID;
可以通过ISnapshot#getClassesByName方法来找出与图片相关的类名,然后使用IClass#getObjectIds方法找到所述类名下的内存对象ID。
S2-4)根据内存对象ID提取出相关的对象图片数据;
可以使用ISnapshot#getObject方法来提取所述对象图片数据。还可以将提取出的对象图片数据临时保存在本地缓存中,如所述平台提供的缓存中,即将ISnapshot#getObject的数据对象进行本地保存。
S2-5)将提取出的对象图片数据按自定义规则排序;
所述按自定义规则排序包括但不限于:按图片名称排序、按图片大小排序、或者按图片占用内存大小排序等。
这样,可以将提取出的对象图片数据按照图片名称排序、也可以按照图片大小排序、或者也可以按照图片占用内存大小排序等。
S2-6)获取所述对象图片数据需要被查看的必要信息;
对IObject原始数据进行提取,IObject原始数据中已经包含了类中的大部分成员变量,需要提取所需要的必要信息。这里所述的需要被查看的必要信息包括但不限于:图片名称、图片高度和宽度、图片所在地址、图片占用内存大小、图片实际大小、引用关系等。
本领域技术人员可以通过这些必要信息来判断出是否存在内存泄露的问题。
S2-7)将获取的所述对象图片数据的必要信息导出为Excel文件。
使用公知的开源库里的JXL工具来实现将获取的所述对象图片数据的必要信息整理成Excel文件格式并导出为Excel文件,以便提供给本领域技术人员观看。例如,将生成的Excel文件并打印出来交给相关技术人员,也可以将生成的Excel文件通过网络发送给相关技术人员,例如发送到相关技术人员工作所使用的硬件设备上(例如计算机)或者移动智能终端,例如智能手机等。
另外,由于Excel文件上记录的数据都是字母和数字,即便相关技术人员通过这些数据判断出某一张或多张图片可能发生内存泄露,但根据抽象性的字母和数字在应用程序里去找到相对应图片也是需要花费不少时间。如果能在Excel文件记录的数据旁边同时展示出相应的具体图片内容,则会极大提高技术人员找到相对应图片的速度,大大减少为此所花费的时间。例如,当相关技术人员通过Excel文件上记录的数据判断出某张图片可能发生内存泄露,然后通过旁边显示的具体图片内容即可知道是在哪个应用程序中运行的该图片。例如,显示的图片内容是相册里的图片,就可以知道在用户观看相册里的图片时因为某些异常情况而发生了内存泄露。
基于上述目的,本发明还提供了一个优选实施例,其还包括:在步骤S2-7)将获取的所述对象图片数据的必要信息导出为Excel文件之前,将所述对象图片数据进行解码以形成可显示的图片信息并且与所获取的所述对象图片数据的必要信息一起导出为Excel文件,在该Excel文件中显示出具体图片内容。
同样可以使用JXL工具来实现将形成的可显示的图片信息和所获取的所述对象图片数据的必要信息一起导出为Excel文件,其中在根据可显示的图片信息在该Excel文件中显示具体图片内容。
根据本发明的图片占用内存情况的查看方法,避免了技术人员人工一步一步操作执行所带来的效率低下的不足,可以通过输入目标图片对象数据来一站式完成对目标图标对象占用内存情况的数据获取,并且可以生成Excel文件,便于技术人员随时随地查看目标图标对象占用内存情况,以有助于分析判断内存泄露点,为解决因为内存泄露而造成的内存资源耗尽、***崩溃的问题提供数据帮助。
图2是本发明第二实施例提供的图片占用内存情况的查看方法的流程图。如图2所示,本发明的图片占用内存情况的查看方法包括:
S21:在待查看图片占用内存情况的硬件终端上安装预先构建的软件开发工具包。
这里所述的硬件终端可以包括但不限于移动智能终端、各种类型的计算机或服务器,所述移动智能终端可以是例如平板电脑、智能手机等,所述各种类型的计算机可以是例如台式计算机、膝上型计算机、便携式计算机等。
S22:在所述硬件终端上运行所述软件开发工具包以自动执行以下步骤:
S22-1)导出所述硬件终端中保存的原始格式的hprof文件并将其转换为内存分析工具可读取格式的hprof文件;
当程序运行时将会在硬件终端的/data/misc目录下生成hprof文件,该hprof文件包括被测应用的内存使用信息。
可以使用Android SDK提供的hprof-conv工具来实现格式的转换。例如,输入命令hprof-conv xxxxx.hprof yyyyy.hprof,其中xxxxx.hprof为原始文件,yyyyy.hprof为格式转换过后的文件。
所述内存分析工具可以使用公知的用于打开和分析hprof文件的任何工具,例如使用内存分析工具MAT(Memory Analyzer Tool)。
S22-2)调用内存分析工具打开所述可读取格式的hprof文件;
所述内存分析工具可以是单独安装在所述硬件终端上,或者也可以是集成在所述软件开发工具包中。
S22-3)找出与图片相关的类名,根据所述类名找到该类名下的内存对象ID;
可以通过ISnapshot#getClassesByName方法来找出与图片相关的类名,然后使用IClass#getObjectIds方法找到所述类名下的内存对象ID。
S22-4)根据内存对象ID提取出相关的对象图片;
可以使用ISnapshot#getObject方法来提取所述对象图片数据。还可以将提取出的对象图片数据临时保存在本地缓存中,如所述平台提供的缓存中,即将ISnapshot#getObject的数据对象进行本地保存。
S22-5)将提取出的对象图片数据按自定义规则排序;
所述按自定义规则排序包括但不限于:按图片名称排序、按图片大小排序、或者按图片占用内存大小排序等。
这样,可以将提取出的对象图片数据按照图片名称排序、也可以按照图片大小排序、或者也可以按照图片占用内存大小排序等。
S22-6)获取所述对象图片数据需要被查看的必要信息;
对IObject原始数据进行提取,IObject原始数据中已经包含了类中的大部分成员变量,需要提取所需要的必要信息。这里所述的需要被查看的必要信息包括但不限于:图片名称、图片高度和宽度、图片所在地址、图片占用内存大小、图片实际大小、引用关系等。
本领域技术人员可以通过这些必要信息来判断出是否存在内存泄露的问题。
S22-7)将获取的所述对象图片数据的必要信息导出为Excel文件。
使用公知的开源库里的JXL工具来实现将获取的所述对象图片数据的必要信息整理成Excel文件格式并导出为Excel文件,以便提供给本领域技术人员观看。例如,将生成的Excel文件并打印出来交给相关技术人员,也可以将生成的Excel文件通过网络发送给相关技术人员,例如发送到相关技术人员工作所使用的硬件设备上(例如计算机)或者移动智能终端,例如智能手机等。
另外,由于Excel文件上记录的数据都是字母和数字,即便相关技术人员通过这些数据判断出某一张或多张图片可能发生内存泄露,但根据抽象性的字母和数字在应用程序里去找到相对应图片也是需要花费不少时间。如果能在Excel文件记录的数据旁边同时展示出相应的具体图片内容,则会极大提高技术人员找到相对应图片的速度,大大减少为此所花费的时间。例如,当相关技术人员通过Excel文件上记录的数据判断出某张图片可能发生内存泄露,然后通过旁边显示的具体图片内容即可知道是在哪个应用程序中运行的该图片。例如,显示的图片内容是相册里的图片,就可以知道在用户观看相册里的图片时因为某些异常情况而发生了内存泄露。
基于上述目的,本发明还提供了另一个优选实施例,其还包括:在步骤S22-7)将获取的所述对象图片数据的必要信息导出为Excel文件之前,将所述对象图片数据进行解码以形成可显示的图片信息并且与所获取的所述对象图片数据的必要信息一起导出为Excel文件,在该Excel文件中显示出具体图片内容。
同样可以使用JXL工具来实现将形成的可显示的图片信息和所获取的所述对象图片数据的必要信息一起导出为Excel文件,其中在根据可显示的图片信息在该Excel文件中显示具体图片内容。
根据本发明的图片占用内存情况的查看方法,避免了技术人员人工一步一步操作执行所带来的效率低下的不足,可以通过输入目标图片对象数据来一站式完成对目标图标对象占用内存情况的数据获取,并且可以生成Excel文件,便于技术人员随时随地查看目标图标对象占用内存情况,以有助于分析判断内存泄露点,为解决因为内存泄露而造成的内存资源耗尽、***崩溃的问题提供数据帮助。
基于第一实施例和第二实施例以及相应的优选实施例的设计思路,本发明第三实施例还提供了一种硬件设备,在该硬件设备上安装有预先构建的软件开发工具包,运行所述软件开发工具包以自动执行以下步骤:
导出在所述硬件设备中保存的原始格式的hprof文件并将其转换为内存分析工具可读取格式的hprof文件;
调用内存分析工具打开所述可读取格式的hprof文件;
找出与图片相关的类名,根据所述类名找到该类名下的内存对象ID;
根据内存对象ID提取出相关的对象图片数据;
将提取出的对象图片数据按自定义规则排序;
获取所述对象图片数据需要被查看的必要信息;
将获取的所述对象图片数据的必要信息导出为Excel文件。
本发明第四实施例还提供了一种硬件设备,在该硬件设备上安装有预先构建的软件开发工具包,运行所述软件开发工具包以自动执行以下步骤:
导出在耦接至所述硬件设备的另一个硬件终端中保存的原始格式的hprof文件并将其转换为内存分析工具可读取格式的hprof文件;
调用内存分析工具打开所述可读取格式的hprof文件;
找出与图片相关的类名,根据所述类名找到该类名下的内存对象ID;
根据内存对象ID提取出相关的对象图片数据;
将提取出的对象图片数据按自定义规则排序;
获取所述对象图片数据需要被查看的必要信息;
将获取的所述对象图片数据的必要信息导出为Excel文件。
这里所述耦接的目的是可以在所述硬件设备上读取接入到该硬件设备上的待查看图片占用内存情况的另一个硬件终端里的文件信息。该耦接方式可以是通过连接线或连接接口将待查看图片占用内存情况的另一个硬件终端与所述硬件设备连接,或者通过将待查看图片占用内存情况的另一个硬件终端接入广域网或局域网等联网形式与所述硬件设备连接,或者其他本领域技术人员公知的连接方式。
在所述第三和第四实施例中,所述硬件设备优选包括但不限于各种类型的计算机或服务器,所述各种类型的计算机可以是例如台式计算机、膝上型计算机、便携式计算机等。所述硬件终端可以包括但不限于移动智能终端、各种类型的计算机或服务器,所述移动智能终端可以是例如平板电脑、智能手机等,所述各种类型的计算机可以是例如台式计算机、膝上型计算机、便携式计算机等。
其中,运行所述软件开发工具包时还包括自动执行以下步骤:在将获取的所述对象图片数据的必要信息导出为Excel文件之前,将所述对象图片数据进行解码以形成可显示的图片信息并且与所获取的所述对象图片数据的必要信息一起导出为Excel文件,在该Excel文件中显示出具体图片内容。
其中,所述内存分析工具是单独安装在所述硬件设备上或者是集成在所述软件开发工具包中。当然,所述内存分析工具也可以单独安装在所述硬件终端上。
其中,所述按自定义规则排序包括但不限于:按图片名称排序、按图片大小排序、或者按图片占用内存大小排序。
其中,所述被查看的必要信息包括但不限于:图片名称、图片高度和宽度、图片所在地址、图片占用内存大小、图片实际大小、引用关系。
其中,使用公知的开源库里的JXL工具来实现将获取的所述对象图片数据的必要信息整理成Excel文件格式并导出为Excel文件,或者使用JXL工具来实现将形成的可显示的图片信息和所获取的所述对象图片数据的必要信息一起导出为Excel文件,其中在根据可显示的图片信息在该Excel文件中显示具体图片内容,以便提供给本领域技术人员观看。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上面描述的硬件设备的具体工作过程,可以参考前述第一和第二实施例中的对应过程,前述第一和第二实施例中列举的例子和相关描述,同样适用于解释该硬件设备的工作过程,在此不再重复描述。
根据本发明提供的硬件设备,在其上可以运行图片占用内存情况的查看方法,这避免了技术人员人工一步一步操作执行所带来的效率低下的不足,可以通过输入目标图片对象数据来一站式完成对目标图标对象占用内存情况的数据获取,并且可以生成Excel文件,便于技术人员随时随地查看目标图标对象占用内存情况,以有助于分析判断内存泄露点,为解决因为内存泄露而造成的内存资源耗尽、***崩溃的问题提供数据帮助。
本发明实施例所提供的图片占用内存情况的查看方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法步骤,具体实现可参见方法实施例,在此不再赘述。
为此,本发明还提供了一种存储设备,其中存储有上面提及的预先构建的软件开发工具包,当在硬件设备上运行该软件开发工具包时自动执行以下步骤:
导出在所述硬件设备中保存的原始格式的hprof文件或者导出在耦接至所述硬件设备的另一个硬件终端中保存的原始格式的hprof文件并将其转换为内存分析工具可读取格式的hprof文件;
调用内存分析工具打开所述可读取格式的hprof文件;
找出与图片相关的类名,根据所述类名找到该类名下的内存对象ID;
根据内存对象ID提取出相关的对象图片数据;
将提取出的对象图片数据按自定义规则排序;
获取所述对象图片数据需要被查看的必要信息;
将获取的所述对象图片数据的必要信息导出为Excel文件。
其中,运行所述软件开发工具包时还包括自动执行以下步骤:在将获取的所述对象图片数据的必要信息导出为Excel文件之前,将所述对象图片数据进行解码以形成可显示的图片信息并且与所获取的所述对象图片数据的必要信息一起导出为Excel文件,在该Excel文件中显示出具体图片内容。
其中,所述内存分析工具是单独安装在所述硬件设备上或者是集成在所述软件开发工具包中。当然,所述内存分析工具也可以单独安装在所述硬件终端上。
其中,所述按自定义规则排序包括但不限于:按图片名称排序、按图片大小排序、或者按图片占用内存大小排序。
其中,所述被查看的必要信息包括但不限于:图片名称、图片高度和宽度、图片所在地址、图片占用内存大小、图片实际大小、引用关系。
其中,使用公知的开源库里的JXL工具来实现将获取的所述对象图片数据的必要信息整理成Excel文件格式并导出为Excel文件,或者使用JXL工具来实现将形成的可显示的图片信息和所获取的所述对象图片数据的必要信息一起导出为Excel文件,其中在根据可显示的图片信息在该Excel文件中显示具体图片内容,以便提供给本领域技术人员观看。
所述硬件设备优选包括但不限于各种类型的计算机或服务器,所述各种类型的计算机可以是例如台式计算机、膝上型计算机、便携式计算机等。所述硬件终端可以包括但不限于移动智能终端、各种类型的计算机或服务器,所述移动智能终端可以是例如平板电脑、智能手机等,所述各种类型的计算机可以是例如台式计算机、膝上型计算机、便携式计算机等。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,智能平板电脑,智能手机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种图片占用内存情况的查看方法,其包括:
将待查看图片占用内存情况的硬件终端与安装有预先构建的软件开发工具包的平台耦接,或者在待查看图片占用内存情况的硬件终端上安装预先构建的软件开发工具包,这样在所述平台上或者在所述硬件终端上运行所述软件开发工具包以自动执行以下步骤:
导出所述硬件终端中保存的原始格式的hprof文件并将其转换为内存分析工具可读取格式的hprof文件;
调用内存分析工具打开所述可读取格式的hprof文件;
找出与图片相关的类名,根据所述类名找到该类名下的内存对象ID;
根据内存对象ID提取出相关的对象图片数据;
将提取出的对象图片数据按自定义规则排序;
获取所述对象图片数据需要被查看的必要信息;
将获取的所述对象图片数据的必要信息导出为Excel文件。
2.根据权利要求1所述的方法,其特征在于还包括:在将获取的所述对象图片数据的必要信息导出为Excel文件之前,将所述对象图片数据进行解码以形成可显示的图片信息并且与所获取的所述对象图片数据的必要信息一起导出为Excel文件,在该Excel文件中显示出具体图片内容。
3.根据权利要求1所述的方法,其特征在于所述内存分析工具是单独安装在平台上或者是集成在所述软件开发工具包中。
4.根据权利要求1所述的方法,其特征在于所述按自定义规则排序包括但不限于:按图片名称排序、按图片大小排序、或者按图片占用内存大小排序。
5.根据权利要求1所述的方法,其特征在于所述被查看的必要信息包括但不限于:图片名称、图片高度和宽度、图片所在地址、图片占用内存大小、图片实际大小、引用关系。
6.一种硬件设备,其上安装有预先构建的软件开发工具包,运行所述软件开发工具包以自动执行以下步骤:
导出在所述硬件设备中保存的原始格式的hprof文件或者导出在耦接至所述硬件设备的另一个硬件终端中保存的原始格式的hprof文件并将其转换为内存分析工具可读取格式的hprof文件;
调用内存分析工具打开所述可读取格式的hprof文件;
找出与图片相关的类名,根据所述类名找到该类名下的内存对象ID;
根据内存对象ID提取出相关的对象图片数据;
将提取出的对象图片数据按自定义规则排序;
获取所述对象图片数据需要被查看的必要信息;
将获取的所述对象图片数据的必要信息导出为Excel文件。
7.根据权利要求6所述的硬件设备,其特征在于运行所述软件开发工具包时还包括自动执行以下步骤:在将获取的所述对象图片数据的必要信息导出为Excel文件之前,将所述对象图片数据进行解码以形成可显示的图片信息并且与所获取的所述对象图片数据的必要信息一起导出为Excel文件,在该Excel文件中显示出具体图片内容。
8.根据权利要求6所述的硬件设备,其特征在于所述内存分析工具是单独安装在所述硬件设备上或者是集成在所述软件开发工具包中。
9.根据权利要求6所述的硬件设备,其特征在于所述按自定义规则排序包括但不限于:按图片名称排序、按图片大小排序、或者按图片占用内存大小排序。
10.根据权利要求6所述的硬件设备,其特征在于所述被查看的必要信息包括但不限于:图片名称、图片高度和宽度、图片所在地址、图片占用内存大小、图片实际大小、引用关系。
CN201710727616.2A 2017-08-23 2017-08-23 一种图片占用内存情况的查看方法 Active CN107480035B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710727616.2A CN107480035B (zh) 2017-08-23 2017-08-23 一种图片占用内存情况的查看方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710727616.2A CN107480035B (zh) 2017-08-23 2017-08-23 一种图片占用内存情况的查看方法

Publications (2)

Publication Number Publication Date
CN107480035A true CN107480035A (zh) 2017-12-15
CN107480035B CN107480035B (zh) 2021-02-19

Family

ID=60601973

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710727616.2A Active CN107480035B (zh) 2017-08-23 2017-08-23 一种图片占用内存情况的查看方法

Country Status (1)

Country Link
CN (1) CN107480035B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112860590A (zh) * 2019-11-28 2021-05-28 北京沃东天骏信息技术有限公司 一种图片分析方法和装置
CN113434429A (zh) * 2021-07-09 2021-09-24 青岛海尔科技有限公司 一种应用程序的内存故障检测方法、装置及设备
US11500711B1 (en) 2021-07-20 2022-11-15 Rockwell Collins, Inc. System and method for determining error occurrence in graphics memory of graphics processing unit

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105224698A (zh) * 2015-11-17 2016-01-06 盛趣信息技术(上海)有限公司 图片存储***及方法
US20160284318A1 (en) * 2015-03-23 2016-09-29 Hisense Usa Corp. Picture display method and apparatus
CN106326908A (zh) * 2015-06-30 2017-01-11 中兴通讯股份有限公司 一种图片的管理方法、装置及终端设备
CN106502508A (zh) * 2016-10-31 2017-03-15 维沃移动通信有限公司 一种图片显示方法及终端
CN106959898A (zh) * 2017-03-27 2017-07-18 广州优视网络科技有限公司 减少内存占用的方法、装置及移动终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160284318A1 (en) * 2015-03-23 2016-09-29 Hisense Usa Corp. Picture display method and apparatus
CN106326908A (zh) * 2015-06-30 2017-01-11 中兴通讯股份有限公司 一种图片的管理方法、装置及终端设备
CN105224698A (zh) * 2015-11-17 2016-01-06 盛趣信息技术(上海)有限公司 图片存储***及方法
CN106502508A (zh) * 2016-10-31 2017-03-15 维沃移动通信有限公司 一种图片显示方法及终端
CN106959898A (zh) * 2017-03-27 2017-07-18 广州优视网络科技有限公司 减少内存占用的方法、装置及移动终端

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
APTENTITY: "LeakCanary原理分析", 《HTTPS://BLOG.CSDN.NET/APTENTITY/ARTICLE/DETAILS/71308257》 *
JACK-CHAN: "内存分析工具MAT的使用", 《HTTPS://BLOG.CSDN.NET/AXI295309066/ARTICLE/DETAILS/52637176》 *
JACOB MALONEY: "Java Memory Allocation FlameGraphs", 《HTTP://ENGINEERING.CONVERSANTMEDIA.COM/TECHNOLOGY/2016/12/01/JAVA-MEMORY-ALLOCATION-FLAMEGRAPH/》 *
YANKEE1967: "揪出内存占用的罪魁祸首—Android MAT工具使用", 《HTTPS://WWW.JIANSHU.COM/P/0125E1BF0531》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112860590A (zh) * 2019-11-28 2021-05-28 北京沃东天骏信息技术有限公司 一种图片分析方法和装置
CN113434429A (zh) * 2021-07-09 2021-09-24 青岛海尔科技有限公司 一种应用程序的内存故障检测方法、装置及设备
US11500711B1 (en) 2021-07-20 2022-11-15 Rockwell Collins, Inc. System and method for determining error occurrence in graphics memory of graphics processing unit

Also Published As

Publication number Publication date
CN107480035B (zh) 2021-02-19

Similar Documents

Publication Publication Date Title
CN109828903B (zh) 自动化测试方法、装置、计算机装置及存储介质
CN104956339B (zh) 从视频生成软件测试脚本
CA3179620A1 (en) Method and system for querying abnormal financial data on basis of knowledge map
CN107612938A (zh) 一种网络用户异常行为检测方法、装置、设备及存储介质
CN107480035A (zh) 一种图片占用内存情况的查看方法
US11790380B2 (en) Systems and methods for finding an interaction subset within a set of interactions
CN107622007A (zh) 应用测试方法和装置
CN103399848A (zh) 发动机试验数据标准化特定格式导入处理方法
CN107357794A (zh) 优化键值数据库的数据存储结构的方法和装置
CN107368407A (zh) 信息处理方法和装置
CN107783890A (zh) 软件缺陷数据处理方法和装置
CN101556616A (zh) 信息处理设备、信息处理方法和计算机程序
CN107729424A (zh) 一种数据可视化方法及设备
CN110889018A (zh) 一种基于glp实验室信息管理集成平台***
CN112836033B (zh) 业务模型的管理方法、装置、设备及存储介质
CN107679096A (zh) 数据集市间指标共享的方法和装置
CN108132883A (zh) 一种软件测试数据分析方法、装置、***及存储介质
CN103488693A (zh) 数据处理装置和数据处理方法
CN114863463A (zh) 一种对合同文本的智能审核校验方法及装置
CN107885649A (zh) Ios应用程序的性能测试方法和装置
CN109919811B (zh) 基于大数据的保险代理人培养方案生成方法及相关设备
US20200057959A1 (en) Reducing instances of inclusion of data associated with hindsight bias in a training set of data for a machine learning system
CN112905544A (zh) 文档操作录制方法、文档操作动画生成方法、装置及设备
CN114201709A (zh) 针对科研需要的在线调研***
CN117892703B (zh) 一种理化表单自动联想录入功能的实现方法及***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20200901

Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Alibaba (China) Co.,Ltd.

Address before: 510627 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yun Lu Yun Ping square B radio tower 15 layer self unit 02

Applicant before: GUANGZHOU UC NETWORK TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant