2019独角兽企业重金招聘Python工程师标准>>>

Android常见问题

  • 内存泄漏:不使用的内存空间(对象)一直被引用着没有得到释放。

  • 内存抖动:短时间内大量创建对象又在短时间内频繁触发GC导致内存波动很大,android虚拟机执行GC操作时需要耗费CPU性能频繁GC会到来严重的性能问题。内存抖动是因为大量的对象被创建又在短时间内马上被释放。瞬间产生大量的对象会严重占用Young Generation的内存区域,当达到阀值,剩余空间不够的时候,也会触发GC。即使每次分配的对象占用了很少的内存,但是他们叠加在一起会增加Heap的压力,从而触发更多其他类型的GC。这个操作有可能会影响到帧率,并使得用户感知到性能问题。

  • 内存溢出:内存泄漏到一定程度超出系统给进程分配的内存大小就会造成内存溢出程序奔溃,或者加载一个或多个大型文件(图片)到内存中也会导致内存溢出。

  • ANR:应用无响应,代码效率过低或者在主线程执行耗时操作。

内存监控工具

  • adb shell dumpsys meminfo:内存泄露检测和改善。

  • Memory Monitor:查看整个app所占用的内存,以及发生GC的时刻,短时间内发生大量的GC操作是一个危险的信号。

  • Allocation Tracker:使用此工具来追踪内存的分配。

  • Heap Viewer:实时查看App分配的内存大小和空闲内存大小,发现Memory Leaks

  • Heap Snapshot:获取Java堆内存详细信息,可以分析出内存泄漏的问题

  • Memory Analyzer Tool:MAT一款详细分析Java堆内存的工具,该工具非常强大,为了使用该工具,我们需要hprof文件,该文件我们在之前的Heap Snapshot工具的时候,我们就生成了该文件。但是该文件不能直接被MAT使用,需要进行一步转化,可以使用hprof-conv命令来转化,但是Android Studio可以直接转化。

性能监控工具

  • Profile GPU Rendering:连续多帧每一帧的刷新时间都超过16ms就应该被视为性能问题。

  • Profile GPU Rendering : M Update:Profile GPU Rendering的升级版。

  • TraceView:从代码层面分析性能问题,针对每个方法来分析,比如当我们发现我们的应用出现卡顿的时候,我们可以来分析出现卡顿时在方法的调用上有没有很耗时的操作,关注以下两个问题:

  • 调用次数不多,但是每一次执行都很耗时
  • 方法耗时不大,但是调用次数太多

  • Systrace:计算容器的性能并发现性能的瓶颈。

  • GPU Monitor:分析GPU的性能,实时查看绘制每一帧所花费的时间,与Profile GPU Rendering差不多。

  • Strict Mode:UI线程被阻塞超过5秒,就会出现ANR,这太糟糕了。防止程序出现ANR是很重要的事情,那么如何找出程序里面潜在的坑,预防ANR呢?很多大部分情况下执行很快的方法,但是他们有可能存在巨大的隐患,这些隐患的爆发就很容易导致ANR。
    Android提供了一个叫做Strict Mode的工具,我们可以通过手机设置里面的开发者选项,打开Strict Mode选项,如果程序存在潜在的隐患,屏幕就会闪现红色。我们也可以通过StrictMode API在代码层面做细化的跟踪,可以设置StrictMode监听那些潜在问题,出现问题时如何提醒开发者,可以对屏幕闪红色,也可以输出错误日志。

  • LINT:Lint是Android提供的一个静态扫描应用源码并找出其中的潜在问题的一个强大的工具。
    例如,如果我们在onDraw方法里面执行了new对象的操作,Lint就会提示我们这里有性能问题,并提出对应的建议方案。Lint已经集成到Android Studio中了,我们可以手动去触发这个工具,点击工具栏的Analysis -> Inspect Code,触发之后,Lint会开始工作,并把结果输出到底部的工具栏,我们可以逐个查看原因并根据指示做相应的优化修改。
    Lint的功能非常强大,他能够扫描各种问题。当然我们可以通过Android Studio设置找到Lint,对Lint做一些定制化扫描的设置,可以选择忽略掉那些不想Lint去扫描的选项,我们还可以针对部分扫描内容修改它的提示优先级。
    建议把与内存有关的选项中的严重程度标记为红色的Error,对于Layout的性能问题标记为黄色Warning。

  • Monkey:Monkey是可以运行在模拟器里或实际设备中的程序。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。

  • 其他工具:其他性能检测工具

网络监控工具

  • Network monitor:实时监控上传和接收的网速

转载于:https://my.oschina.net/xuhaozi/blog/780399

Android 性能指标检测工具相关推荐

  1. android安全检测工具,梆梆安全 - 防止反编译|APP安全加固|应用加固|盗版监测

    android安全检测工具,梆梆安全 - 防止反编译|APP安全加固|应用加固|盗版监测 https://dev.bangcle.com/ 业内专业的应用加固服务供应商 帮助数十万APP抵御破解风险, ...

  2. Android内存检测工具系列工具集

    Android内存检测工具系列工具集 Android关于内存的工具不少,灵活地选择工具就显得特别重要.在此特别推荐分享涵盖一定初步和定位能力的工具,可以让我们一步到位地分析问题,提升效率. 在此列举几 ...

  3. android oom 检测工具,Android中UI检测、内存泄露、OOM、等优化处理

    对Android整个优化分析,非常棒,下面是自己的积累笔记.可直接看原文. 界面检测工具: Fps: GPU检测, 使用Lint进行资源及冗余UI布局等优化 (很强大,布局的冗余) Memory检测G ...

  4. Android 内存检测工具

    所谓内存泄漏,是指本该被回收的内存由于某种原因绕开了GC回收算法,从而导致该内存无法被有效数据使用而使得总内存减小的情况. 内存泄漏会导致内存消耗的增加,大量的消耗会使得APP OOM,特别是在一些内 ...

  5. 移动安全之Android安全检测工具大全

    原文地址:https://github.com/tanprathan/MobileApp-Pentest-Cheatsheet 补充[1]http://www.black-eleven.com/?p= ...

  6. android漏洞检测工具,安卓“超级拒绝服务漏洞”分析及自动检测工具

    本帖最后由 公益 于 2015-1-7 18:14 编辑 作者:360捉虫猎手研究员 0xr0ot & Xbalien "超级拒绝服务漏洞"是360安全研究人员近期发现的一 ...

  7. android代码检测工具,大家好 给大家介绍一下 Android静态代码检测工具FireLine

    FireLine介绍 随着时间的推移,项目的代码量越来越大,而紧张的项目开发周期使得开发人员进行单元测试的时间少之又少.我仔细看了下最近几轮测试中测试人员提的缺陷单,大部分的bug其实归根到底都是由空 ...

  8. android漏洞检测工具,Android漏洞检测——模糊测试

    前言 Android在目前的市场上占有率很高,用户数量庞大,而在该平台下的应用程序开发成本低,开发难度低,发布容易,缺少监管和审查,导致大量低质量App流入市场,这些App由于开发者缺乏安全编程技能或 ...

  9. android 摄像头检测工具,检摄app下载-检摄软件(检测摄像头)下载 v1.0.7安卓版_5577安卓网...

    检摄app推荐给大家,很多人担心在商场.酒店或是其他其他地方隐藏摄像头来偷窥自己的隐私,那怎么办?小编分享这款检摄软件给你们使用,进入房间之前开启,利用磁力传感器功能来感应周围的摄像头,一起来下载使用 ...

最新文章

  1. 秋色园QBlog技术原理解析:UrlRewrite之无后缀URL原理(三)
  2. VMware ESX Server 4(vSpere)测试记录
  3. 大一暑假第三周学习体会
  4. Tensorflow 2.0的新特性
  5. 每日一题(48)—— 中断
  6. Spring Boot 学习之,数据库三 ,事务
  7. 2-6 刮刮乐和双色球
  8. poj 3278 bzoj 1646: [Usaco2007 Open]Catch That Cow 抓住那只牛(BFS)
  9. [cogs] 传染病控制
  10. 创建crawlspider爬虫 学习笔记
  11. python xml转excel_使用python脚本将XML 电子表格转变为Excel
  12. 排序算法7——图解快速排序(两种主元选择方法)以及CUTOFF时间测试
  13. C++STL容器的比较
  14. 使用shape绘制阴影图层阴影效果
  15. 封校大学生在宿舍无聊玩起图像大找茬——一个关于游戏的练手小项目(一起领略Python脚本的风采吧)
  16. Redis高并发点赞
  17. Powell算法、Powell修正算法_matlab仿真
  18. 请领取你的免费云电脑:微软Windows实验虚拟机,每天可以免费使用两个小时,上Google搜资料很方便
  19. App Zap的非常货币化策略:付费游戏的应用内购买
  20. Bear and Big Brother

热门文章

  1. flash文本呈现html啥意思,显示flash内容时用的OBJECT和EMBED标签区别介绍
  2. python 服务监控_promethues + python + flask监控后端服务状态
  3. 年假计算器在线_死亡计算器 和 年龄计算器
  4. bazel 链接第三方动态库_C/C++编程知识:Linux 动态库相关知识整理
  5. win10 休眠设置无效_睡眠模式在Windows 10系统上不起作用?
  6. 怎么把程序内部坐标转为屏幕坐标,如何将工作空间坐标转换为屏幕坐标?
  7. java连接rabbitmq_Mac / Windows 下安装 RabbitMQ
  8. python数据结构与算法知识点_数据结构和算法基础知识点(示例代码)
  9. python多任务_python之多任务
  10. python requests text content_python 3 关于requests库的 text / content /json