安卓手机渗透测试课程分享(手机app渗透测试工具)

安卓手机渗透测试课程分享(手机app渗透测试工具)

入侵渗透hacker2024-05-22 19:20:331116A+A-

  吴老的《selenium webdriver 实战宝典》出版了!

  1.Android Studio分析内存泄露1.1. 简述

  Android Studio是谷歌专门针对Android应用开发所推出的一套IDE,在AndroidStudio中,可以通过工具自身集成的Android Monitor来对安装模拟器及APP的CPU、内存、网络、GPU等使用信息。在本文中主要针对于APP的内存分析,其他功能不做过多的阐述。

  1.2.Android Monitor 监控APP 的内存资源信息

  打开Android Studio,在界面的最下面选择Android Monitor标签页,打开Android Monitor

  

  在Android Monitor的最上面,第一个下拉框选择要监控的手机/模拟器,第二个下拉框中选择要监控的进程,在下拉框下面的标签页中,选择Monitors,然后拖到Memory一项,即可实现实时监控内存性能。

  

  在内存项中有五个按钮

  

  

  Enable,暂停内存信息的收集,再次点击后恢复内存信息的收集

  

安卓手机渗透测试课程分享(手机app渗透测试工具)

  Initiable GC,执行GC

  

  Dump Java Heap,获取当前JAVA堆快照

  

  Start Allocation Tracking,开始内存分析,再次点击后结束内存分析

  Memory monitor help,帮助

  在监控图表中,横坐标代表着监控时间,纵坐标代表着内存大小,蓝色Allocated表示堆中已使用的内存,浅黑色Free表示堆中未使用的内存

  

  1.3. 分析堆快照

  在Android Monitor中单击Initiable GC按钮手工执行一次GC释放内存,然后单击Dump Java Heap按钮获取当前的JAVA堆快照

安卓手机渗透测试课程分享(手机app渗透测试工具)

  

  使用此功能后,会生成快照文件

  命名规则:包名_年月日_时分.hprof

  快照文件可以在Android Studio最右边选择Captures标签页中看到

  

  内存分析信息,会在右侧窗口中自动打开

  

  内存分析有两个下拉列表

  

  App heap表示App的堆信息

  Image heap表示UI的堆信息

  Zygote heap表示Android核心Zygote进程的堆信息

  一般选择App heap即可

  

  第二个下拉列表是选择数据展示的方式

  Class List View表示以类的方式

  Package Tree View表示以包结构树的形式

  内存分析中有三个窗口

  左上第一个窗口表示类的内存信息,默认以Retained Size由大到小排列

  

名称

含义

Class Name

类名

Total Count

出现次数

Heap Count

堆总数

Sizeof

内存容量度量大小

Shallow Size

浅堆大小

Retained Size

保留堆大小

  单击选中一个类之后,即会在右侧第二个窗口中显示该类实例出现的具体信息

  

名称

含义

Instance

实例(数字表示序号)

Depth

深度

Shallow Size

浅堆大小

Dominating Size

管辖的内存大小

  单击选中一个实例后,会在下方窗口出现实例的引用树

  

名称

含义

Reference Tree

引用树

Depth

深度

Shallow Size

浅堆大小

Dominating Size

管辖的内存大小

  在上面三个窗口中,都可以通过右键选择Jump to source来跳转到相应的代码中

  通过AnalyzerTaskers分析内存泄露

  单击左侧Analyzer Taskers标签页,即可打开Analyzer Tasker窗口

  

  打开后的窗口如下

  

  在Analyzer Tasks中又两个选项

  Detect Leaked Activities 是选择内存泄露的Activity

  Find Duplicate Strings 是选择重复的字符串

  分析内存泄露时,只需要点击Analyzer Tasks右侧的三角按钮即可,分析结果如下

  

  Analysis Results表示此次分析的内存泄露的结果

  Analysis Result Explanation表示针对内存泄露的结果的说明,需手工填写

  Leaked Activities表示发现有内存泄露的Activity,一般可能出现的原因是Activity被绑定在一个持久化的实例上,导致Activity无法再生命周期结束后被销毁;

  Duplicated Strings表示重复的字符串,一般是研发直接在代码中填写字符串,没有按照JAVA或Android的规范填写,一般可创建一个基类,里面用静态声明所需要的字符串,使用时引入,或者在Android项目中的res/values/Strings.xml文件中声明所使用的字符串,通过Android提供的方法引入即可。

  1.4.Allocation Tracking 跟踪分析内存

  在Android Monitor中使用Start AllocationTracking按钮可以跟踪分析内存

  操作方法:

  1.单击Start AllocationTracking按钮;

  2.操作需要监控的APP;

  3.再次单击Start AllocationTracking按钮

  4.生成结果文件

  

  结果文件依旧可以在Captures中看到

  在Allocation Tracking目录里

  命名规则:包名_年月日_时分.alloc

  

  结果文件分析窗口如下:

  

  在下拉窗口中,可以选择

  Group by Method 通过线程执行的方法分组

  Group by Allocator 通过包分组

  

  

  Jump to Source按钮可以跳转到定位的代码

  可以生成并打开图表

  

  在下面的窗口中可以显示线程执行的方法总数,以及占用存储的大小

  

  1.5.Android Studio 导出.hprof 文件

  Android Studio支持手动导出.hprof文件,以方便使用MAT工具进行进一步的内存泄露分析。

  在Captures窗口中,右键需要导出的.hprof文件,选择Exportto standard.hprof,在弹出的窗口中输入名称和存储路径即可。

  

  安装喜马拉雅app,搜索“光荣之路”可以收听吴老和他的朋友们分享的35小时测试知识语音

  光荣之路

  软件测试培训

  官网:www.gloryroad.cn

  微信公众号:gloryroadtrain

  性能测试QQ群:415987441

  测试招聘QQ群: 203715128

  Java2群:569534627

  Python群:457561756

  咨询V信:mengqiao626

  咨询QQ:53617154

  光荣之路公开课大讲堂:413908278

点击这里复制本文地址 以上内容由黑资讯整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
  • 6条评论
  • 鸽吻木緿2024-05-23 04:52:03
  • Size保留堆大小  单击选中一个类之后,即会在右侧第二个窗口中显示该类实例出现的具体信息  名称含义Instance实例(数字表示序号)Depth深度Shallow Size浅堆大小Dominating Size管辖的内存大小  单
  • 鹿岛卮酒2024-05-23 03:39:20
  • asks右侧的三角按钮即可,分析结果如下    Analysis Results表示此次分析的内存泄露的结果  Analysis Result Explanation表示针对内存泄露的结果的说明,需手工填写  Leaked Activities表示发现有内存泄露的Activ
  • 野欢柔侣2024-05-23 04:03:32
  • roid应用开发所推出的一套IDE,在AndroidStudio中,可以通过工具自身集成的Android Monitor来对安装模拟器及APP的CPU、内存、网络、GPU等使用信息。
  • 南殷月棠2024-05-23 00:12:41
  • ng Size管辖的内存大小  在上面三个窗口中,都可以通过右键选择Jump to source来跳转到相应的代码中  通过AnalyzerTaskers分析内存泄露  单击左侧Analyzer Taskers标签页,即可打开Analyzer Tas
  • 惑心近箐2024-05-22 20:53:09
  • f 文件  Android Studio支持手动导出.hprof文件,以方便使用MAT工具进行进一步的内存泄露分析。  在Captures窗口中,右键需要导出的.hprof文件,选择Exportto standard.hprof,在弹

支持Ctrl+Enter提交

黑资讯 © All Rights Reserved.  
Copyright Copyright 2015-2020 黑资讯
滇ICP备19002590号-1
Powered by 黑客资讯 Themes by 如有不合适之处联系我们
网站地图| 发展历程| 留言建议| 网站管理