app电量
adb shell dumpsys battery set status 1 #手机切换到非充电状态 2 为充电 测试时间半个小时到一个小时以上
==============================================
Current Battery Service
AC powered: false
USB powered: true
Wireless powered: fals
Max charging current:
status: 2
health: 2
present: true
level: 61 #电量
scale: 100
voltage: 4036
temperature: 282
technology: Li-ion
测试方法:同行业知名APP或者其他版本相同操作比对
app启动时间(冷启动)
命令行运行adb logcat|findstr START 后,启动程序有启动日志查看包用
--->adb shell am start -W -n com.xianglin.app/.biz.SplashActivity 启动
=================================================================
Starting: Intent { cmp=com.xianglin.app/.biz.SplashActivity }
Status: ok
Activity: com.xianglin.app/.biz.SplashActivity
ThisTime: 1515 #启动耗时
TotalTime: 1515
WaitTime: 1525
Complete
---->adb shell am force-stop package (冷启动退出app)强制停止启动
---->adb shell input keyevent 3 (热启动退出,3是home键)
冷启动:进程首次创建 并占资源的过程
热启动:应用退到后台后启动
测试方法:在采集从第2次开始算平均值,查看启动的数据波动,可以跟同行业知名APP或者其他版本的APP比较
获取cpu利用率
adb shell dumpsys cpuinfo|findstr com.xianglin.app
===================================================
cpu利用率
0.2% 22182/com.xianglin.app: 0.1% user + 0% kernel / faults: 529 minor
0.1% 22227/com.xianglin.app:jpushservice: 0% user + 0% kernel / faults: 1259 minor
0% 22261/com.xianglin.app:ipc: 0% user + 0% kernel / faults: 37 minor
测试方法:在利用率可接受范围内,继续操作,看cpu是不是持续增长
获取内存:
adb shell dumpsys meminfo com.xianglin.app -d
=========================================================
Applications Memory Usage (kB):
Uptime: 112056300 Realtime: 634739966
** MEMINFO in pid 3907 [com.xianglin.app] **
Pss Private Private Swapped Heap Heap Heap
Total Dirty Clean Dirty Size Alloc Free
------ ------ ------ ------ ------ ------ ------
Native Heap 9918(注意) 9800 0 0 18176 16570 1605
Dalvik Heap 22725(注意) 22660 0 0 25906 15777 10129
Dalvik Other 2615 2612 0 0
Stack 692 692 0 0
Ashmem 130 128 0 0
Gfx dev 9364 9364 0 0
Other dev 9 0 8 0
.so mmap 6212 2148 128 0
.apk mmap 704 0 212 0
.ttf mmap 11 0 4 0
.dex mmap 11478 12 5616 0
.oat mmap 3185 0 836 0
.art mmap 2040 1364 8 0
Other mmap 216 108 56 0
Unknown 381 376 0 0
TOTAL 69680(注意) 49264 6868 0 44082 32347 11734
App Summary
Pss(KB)
------
Java Heap: 24032
Native Heap: 9800
Code: 8956
Stack: 692
Graphics: 9364
Private Other: 3288
System: 13548
TOTAL: 69680 TOTAL SWAP (KB): 0
Objects
Views: 17(注意) ViewRootImpl: 2
AppContexts: 6 Activities: 3(注意)
Assets: 5 AssetManagers: 4
Local Binders: 46 Proxy Binders: 36
Parcel memory: 18 Parcel count: 74
Death Recipients: 4 OpenSSL Sockets: 4
SQL
MEMORY_USED: 0
PAGECACHE_OVERFLOW: 0 MALLOC_SIZE: 62
Asset Allocations
zip:/data/user/0/com.tencent.mm/app_tbs/core_share/res.apk:/resources.arsc: 96K
测试方法:
后台运行(5~10分钟为宜)和用户持续频繁大量操作(10~15分钟为宜)
Native/Dalvik 堆信息 如果值一直增长,可能出现内存泄露
Objects Activity和View (查看前先进行GC,进入界面之前查看Activity和View的数据,退出去之后在查看一遍Activity和View的数据,如果存在差异,可能存在内存泄露)
获取流量;
1.获取应用的进程
adb shell ps|findstr package
adb shell cat /proc/(上面获取的pid)/net/dev #关注( Receive (接收的流量)| Transmit(发送的流量))
Receive+Transmit = 应用的流量
测试方法:上下两个版本相同的步奏操作 来对比采集的消耗流量值
FPS:frames per second 每秒帧数 安卓系统中规定每秒60帧 应用流畅 每帧大于16毫秒,应用出现卡顿现象,具体用户体验为准
手机上 设置-->开发者选项--->GPU呈现模式分析--->屏幕显示条形图
过度渲染:描述的是屏幕上某个像素在同一帧的时间内被绘制了多次 设置---开发者选项---GPU过度绘制(用户不应该在页面上看见的东西,提前绘制出来)