Android App性能測试
一、内存
1、查看单个应用App最大内存限制
Command:adb shell “getprop|grep heapgrowthlimit”
C:\Users\hujiachun>adb shell "getprop|grep heapgrowthlimit"
[dalvik.vm.heapgrowthlimit]: [128m]
128M是单个APP最大内存限制,假设Dalvik Heap 的Pss大于128。就会报内存溢出
2、监控某个App内存
Command:adb shell dumpsys meminfo com.meizu.mstoreC:\Users\hujiachun>adb shell dumpsys meminfo com.meizu.mstore
Applications Memory Usage (kB):
Uptime: 5159608 Realtime: 5159608 ** MEMINFO in pid 13914 [com.meizu.mstore] **
Pss Private Private Swapped Heap Heap Heap
Total Dirty Clean Dirty Size Alloc Free
------ ------ ------ ------ ------ ------ ------
Native Heap 0 0 0 0 28672 18939 9732
Dalvik Heap 45029 44068 0 0 60986 56981 4005
Dalvik Other 680 680 0 60
Stack 492 492 0 36
Other dev 6 0 4 0
.so mmap 2454 172 284 1728
.apk mmap 509 0 228 0
.ttf mmap 854 0 464 0
.dex mmap 6240 0 6236 0
.oat mmap 5925 0 2564 0
.art mmap 2951 1748 716 8
Other mmap 137 4 104 0
EGL mtrack 14960 14960 0 0
GL mtrack 59264 59264 0 0
Unknown 16331 16256 0 816
TOTAL 155832 137644 10600 2648 89658 75920 13737 Objects
Views: 1242 ViewRootImpl: 1
AppContexts: 4 Activities: 1
Assets: 4 AssetManagers: 4
Local Binders: 31 Proxy Binders: 29
Parcel memory: 15 Parcel count: 60
Death Recipients: 1 OpenSSL Sockets: 0 SQL
MEMORY_USED: 430
PAGECACHE_OVERFLOW: 116 MALLOC_SIZE: 62 DATABASES
pgsz dbsz Lookaside(b) cache Dbname
4 20 83 210/52/9 /data/data/com.meizu.mstore/d
atabases/UsageStats.db
4 24 18 0/42/1 /data/data/com.meizu.mstore/d
atabases/download_task.db
4 24 50 1/43/2 /data/data/com.meizu.mstore/d
atabases/download_app.db
4 24 18 0/42/1 /data/data/com.meizu.mstore/d
atabases/Mstore_Recommend_db
能够通过过滤信息 得到Dalvik Heap 的Pss值。实时监控二、CPUCommand:adb shell " dumpsys cpuinfo |grep com.meizu.mstore"C:\Users\hujiachun>adb shell " dumpsys cpuinfo |grep com.meizu.mstore"
1.3% 18957/com.meizu.mstore: 1% user + 0.2% kernel / faults: 171 minor
1.3% 是总消耗CPUuser是用户消耗kernel 是内核消耗
Android App性能測试的更多相关文章
- Android应用性能測试
Android内存限制 java虚拟机有内存使用上限的限制 adb shell进入手机,这此參数被纪录在/system/build.prop中,假设想直接查看能够使用adb shell getprop ...
- Android性能測试 一些适用于Android Studio的代码审查和性能測试工具
导言: Android应用在CPU占用,内存消耗方面的性能指标是影响产品质量的重要因素,因为QQ管家,360手机助手等应用都提供直观的内存消耗,流量监控功能,致使用户比以往更加关注软件的性能,并以此进 ...
- android 性能測试CTS篇
CTS介绍 一.CTS简单介绍 CTS 全称Compatibility Test Suite兼容性測试工具. 当电子产品开发出来.并定制了自己的Android系统后,必需要通过最新的CTS检測.以保证 ...
- 鹅厂揭秘——高端大气的App电量測试
怎样评价我们开发出来的应用是耗电还是不耗电,怎样測试?这就是我们今天讨论的主题--电量測试,一个在移动应用中新出现的測试类型. 作者简单介绍 watermark/2/text/aHR0cDovL2Js ...
- android手机安全性測试手段
android手机安全性測试手段 罗列一下自己经常使用的android手机安全性測试攻击手段: 1. fiddler和tcpdump+wireshark抓包分析,模拟改动http请求參数,检验漏洞 2 ...
- 微博达人硅谷之歌:Testin云測移动搜索性能測试非常是让人信服
微博达人硅谷之歌:Testin云測移动搜索性能測试非常是让人信服 2014/10/08 · Testin · 开发人员訪谈 2013年11月1日,谷歌运行董事长施密特(Eric Emerson Sch ...
- Android APP性能分析方法及工具
近期读到<Speed up your app>一文.这是一篇关于Android APP性能分析.优化的文章.在这篇文章中,作者介绍他的APP分析优化规则.使用的工具和方法.我觉得值得大家借 ...
- 十大技巧优化Android App性能
无论锤子还是茄子手机的不断冒出,Android系统的手机市场占有率目前来说还是最大的,因此基于Android开发的App数量也是很庞大的. 那么,如何能开发出更高性能的Android App?相信是软 ...
- mongodb3.0 性能測试报告 一
mongodb3.0 性能測试报告 一 mongodb3.0 性能測试报告 二 mongodb3.0 性能測试报告 三 測试环境: 服务器:X86 pcserver 共6台 cpu: 单颗8核 ...
随机推荐
- JS中字符串的相关操作
一.字符串的创建 创建一个字符串有几种方法.最简单的是用引号将一组字符包含起来,可以将其赋值给一个字符串变量. var myStr = "Hello, String!"; 可以用双 ...
- GDALOpen 代码分析
先来一句话,看了这么多GDAL的源代码,并不喜欢其C风格的烙印太重,还是更喜欢boost风格的简洁的现代C++风格.不过为了更好地应用GDAL,更深的定制它,还是需要将源代码看到底.因为GDAL毕竟是 ...
- .NET-DataTable或DataSet转JSON
通过AJAX异步减少网络内容传输,而JSON则可以把传输内容缩减到纯数据:然后利用jQuery内置的AJAX功能直接获得JSON格式的数据:在客户端直接绑定到数据控件里面,从而达到最优. #regio ...
- (转)使用百度 BAE做SVN服务器
转自:https://www.sinosky.org/bae-svn.html#comment-1775 从这里下载 目前,无论是Windows平台.Linux平台还是Mac平台都有比较成熟的SVN客 ...
- KineticJS教程(9)
KineticJS教程(9) 作者: ysm 9.选择器 Kinetic在舞台.层和组对象上都提供了get方法,用于返回这三者中包含的对象. 9.1.根据ID获取对象 要用id获取对象,首先要给对象 ...
- Linux系统登录:本地登录与远程登录
安装登录系统的位置可以将登录方式分为两种:本地登录和远程登录.本地登录可以使用图形界面和命令行模式(也称字符界面)两种方式:远程登录可以使用SSH.Telnent.VNC.SFTP 4种方式. 常见的 ...
- Linux mkdir 如何递归创建目录?
mkdir 如何递归创建目录? mkdir –vp 目录1/目录2/目录3 详细介绍: linux mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目 ...
- model模块
所谓的模块就是一个独立的文件,文件与文件之间是相互封闭的. //-----------------modeltest.js----------------- export var webName = ...
- javascript 闭包 通俗解释
代码段 function foo(){ var a = 2; function bar(){ console.log(a); } return bar; } var baz = foo(); baz( ...
- javascript 创建对象的几种方式
1. //基于已有对象扩充其属性和方法var object = new Object(); object.name = "zhangsan"; object.sayName = f ...