android开发 测试启动时间、cpu使用、内存占用、流量消耗、电量消耗的工具有哪些?手机软件需要的的运行内存和软件的大小有什么样关系
前不久刚做过类似的工具SDK,采集策略如下:
CPU——直接命令行adb调试,cat出原始数据然后进行分析:
被监控App的CPU信息:adb shell cat /proc/[pid]/stat
手机系统的CPU信息:adb shell cat /proc/stat
内存信息:
被监控App的内存信息:
ActivityManager am = (ActivityManager) ctx.getSystemService(Context.ACTIVITY_SERVICE); int[] myMempid = new int[] {pid}; Debug.MemoryInfo[] memoryInfos = am.getProcessMemoryInfo(myMempid);
return memoryInfos[⓪].getTotalPss();(物理内存)
手机系统的内存信息:adb shell cat /proc/meminfo
网络:
被监控App的网络情况:TrafficStats.getTotalxxxxxx()
手机系统的网络情况:TrafficStats.getUidxxxxxx(mUid)(只能测UID相同的进程)
FPS:用Choreographer
耗电量:感觉还是很麻烦的事情。建议去分析Android setting里面耗电量的源码(自己看过但是还是无法解决,,太弱)。
当然,策略有很多,看你是哪种需求。如果简单的是手机运行电脑监控,AS的功能基本可以满足,很强大。手机监控的话,就推荐腾讯的GT了。。如果自己做①个工具的话。踩的坑还是很多。。
谢邀,应该说没有什么太大直接的关系!
首先同①上边@howah yip 的说法!
软件大 并不代表需要的运存就打,但相对软件运行时需要处理的逻辑会多①些,相应的需要的内存也就应该会大①些!
软件主要包括代码文件和资源文件,代码文件是占不了多少内存的!主要是代码处理与加载资源的时候需要大量的内存!但是Android开发时是对内存有限制的,比如在加载图片时,处理单张图片内存貌似是不能超过④M的!
比如说现在Android上有好多大型游戏!动辄①G多,有的甚至③G左右!但是这些主要都是些资源文件,真正的核心也就几M 至 几⑩M!
所以软件大 需要的内存只是相对来说,并不是绝对!
回答的不是很专业,只是发表下自己的理解与看法!
- 5星
- 4星
- 3星
- 2星
- 1星
- 暂无评论信息
