Android应用性能优化最佳实践.2.2 性能分析工具
2.2 性能分析工具
从前一节可以看到,Android系统在4.1以后从框架上解决了由于系统问题导致的卡顿现象,但在实际的使用过程中,在用户的感受上,卡顿仍然是应用开发中主要面临的问题,而原因从上一节的分析中也知道本质是VSync信号到来时,不能及时处理绘制事件导致,本节先抛出以下两个问题:
1)应用层做了什么会导致VSync事件不能及时处理?
2)卡顿能监控吗?
性能问题并不容易复现,也不好定位,光从几个场景不能完全覆盖所有的问题,因此在做性能优化时,最直接有效的方法,就是尽量复现存在性能问题的场景,并监控此过程中程序的执行流程,如果能够方便地分析程序中函数的调用关系和执行时间,自然也就很容易找出性能瓶颈。
分析问题和确认问题是否解决,都借助了相应的调试工具,比如查看Layout层次的Hierarchy View、Android系统上带的

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Android应用性能优化最佳实践.2.1 Android系统显示原理
绘?制?优?化 Android应用启动慢,使用时经常卡顿,是非常影响用户体验的,应该尽量避免出现。卡顿的场景有很多,按场景可以分成4类:UI绘制、应用启动、页面跳转、事件响应,如 图2-1所示。在这四种场景下又有多个小分类,基本上覆盖了卡顿的各个场景。 图2-1 卡顿主要场景 这4种卡顿场景的根本原因又可以分成两大类。 界面绘制:主要原因是绘制的层级深、页面复杂、刷新不合理,由于这些原因导致卡顿的场景更多出现在UI和启动后的初始界面以及跳转到页面的绘制上。 数据处理:导致这种卡顿场景的原因是数据处理量太大,一般分为三种情况,一是数据处理在UI线程(这种应该避免),二是数据处理占用CPU高,导致主线程拿不到时间片,三是内存增加导致GC频繁,从而引起卡顿。 本章主要通过优化UI界面编程来减少卡顿,以场景为纬度,通过工具深入分析症结所在,找到导致问
- 下一篇
你的应用是如何被替换的,App劫持病毒剖析
你的应用是如何被替换的,App劫持病毒剖析 一.App劫持病毒介绍 App劫持是指执行流程被重定向,又可分为Activity劫持、安装劫持、流量劫持、函数执行劫持等。本文将对近期利用Acticity劫持和安装劫持的病毒进行分析。 二.Activity劫持病毒分析 2.1 Activity劫持病毒介绍 Activity劫持是指当启动某个窗口组件时,被恶意应用探知,若该窗口界面是恶意程序预设的攻击对象,恶意应用将启动自己仿冒的界面覆盖原界面,用户在毫无察觉的情况下输入登录信息,恶意程序在把获取的数据返回给服务端。 以MazarBOT间谍木马为例,该类木马有一下几个特点: 伪装成系统短信应用,启动后请求激活设备管理权限,随后隐藏图标; 利用Tor与C&C控制中心进行匿名通信,抵御流量分析; C&C控制中心下发指令进行手机控制、update html、以及信息收集; 通过服务器动态获取htmlData,然后实施界面劫持,获取用户账号信息; 以下是C&C控制中心指令列表: 我们发现该木马能接受并处理一套完整的C&C控制指令,并且使用Tor进行匿名网络通信,...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2全家桶,快速入门学习开发网站教程
- MySQL8.0.19开启GTID主从同步CentOS8
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS6,7,8上安装Nginx,支持https2.0的开启