我是这样搞定内存泄露测试,让大佬们刮目相看的

内存泄漏是指程序在使用完内存后未释放,导致持续占用,直至程序结束。垃圾回收机制通常用于自动清理JAVA中不再使用的对象。内存泄漏可能导致应用内存溢出,引起崩溃或性能问题,如卡顿。测试场景包括新页面打开、横竖屏切换和滑动屏幕。测试工具包括Android Studio的Profiiler、DDMS、ADB命令和LeakCanary。有效检测和管理内存泄漏至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是内存泄漏?

程序在向系统申请分配内存空间后(new),在使用完毕后未释放。结果导致一直占据该内存单元,我们和程序都无法再使用该内存单元,直到程序结束,这是内存泄露。

内存泄露原因分析

垃圾回收机制

垃圾回收(garbage collection,简称GC)可以自动清空堆中不再使用的对象。在JAVA中对象是通过引用使用的。如果再没有引用指向该对象,那么该对象就无从处理或调用该对象,这样的对象称为不可到达(unreachable)。垃圾回收用于释放不可到达的对象所占据的内存。

内存泄漏对应用影响

内存泄漏对于app没有直接危害,即使有发现内存泄漏的情况,也不一定会引起app崩溃

但是

内存得不到释放,慢慢地会造成app内存溢出,导致崩溃

内存泄漏同时可能会触发系统频繁GC,会导致系统性能问题(卡顿不流畅)

测试场景选择

新页面打开

横竖屏切换

滑动屏幕

测试方式

有源码+Android Studio环境,借助Profiler --开发用得比较多

无源码,有debug版本的APK包

DDMS工具

ADB命令

adb shell dumpsys meminfo packageName
adb shell am dumpheap packageName filePath

Leakcanary + Monkey(推荐)最优解 真的好用!

需要软件测试相关相关资料提升自我的朋友可以点击下面免费领取包含了基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试,面试时面试官必问的知识点,精选简历的大礼包哟

软件测试,最全资料包,免费大放送!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值