Android专项测试之崩溃测试(CPU)
崩溃问题类型
❖ ANR:
❖ 主线程5s内没响应
❖ Java Crash:
❖ 未捕获的android vm异常
❖ Native Crash:
❖ 未处理的native异常
应对方案:
可以使用腾讯的bugly
adb logcat *:S
只看Android异常信息
adb logcat *:E
查看当前页是那个应用
adb logcat | grep display
11-24 16:33:46.839 1927 4078 E DollieAdapterService: notifyActivityState pkg:com.bilibili/com.bilibili.ui.main.MainActivity state:2 fg:true mUid:10623
11-24 16:33:46.839 1249 1755 E HiDATA_HiNetwork: onAppStart packageName is com.bilibili
只查看com.bilibili包的日志
adb shell ps | grep com.bilibili
根据进程id跟踪日志信息
adb logcat | grep 4534
查询包名
adb shell dumpsys activity top | less
发布前检测办法
❖ 健壮性测试:monkey、maxim
adb shell monkey -p com.bilibili -v 200
❖ 深度功能覆盖:appcrawler⾃动遍历
❖ 异常场景覆盖
常见场景用例
❖ 后端接⼜问题:
❖ 弱⽹:完全超时、2G、3G
❖ 接⼜返回异常:null返回
❖ 接⼜变更问题:字段类型变更
❖ 逻辑问题
❖ 异步线程问题:打开新页⾯再快速返回
❖ 逻辑处理不当:横竖屏切换、前后台切换
❖ 内存消耗:低内存、循环翻页、执⾏可累计内存的操作
弱网测试方案
❖ 模拟器⽅案:
❖ $(which emulator) -avd [your-avd-image] -netdelay 20000 -netspeed gsm
❖ $(which emulator) 不直接使⽤emulator是因为有个bug
❖ 真机代理⽅案:charles模拟弱⽹
❖ ⽹关⽅案:Facebook的ATC
发布后建立监控体系
❖ 捕获异常进⾏处理
❖ 接⼊外部sdk,⽐如bugly
使用monitor
Android的monitor⼯具
❖ ddms
❖ profile
❖ debug
❖ trace
C:\Users\shenyf>monitor
实时查看线程的使用情况

开启性能剖析

在App中打开要查看的页面


就可以查

本文探讨Android应用的崩溃类型,如ANR、JavaCrash和NativeCrash,以及如何使用腾讯Bugly进行异常追踪。重点讲解了CPU性能剖析工具的使用方法,包括监控线程、分析Java和C/C++性能,以及在不同场景下的测试和发布前后的检测手段。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



