通常项目比较大的APP都面临着如下性能问题,APP启动慢、界面跳转慢、事件相应慢、滑动和动画卡顿、展现内容慢等,有的公司处理的很好,有的还有很大的优化空间,对于性能优化,怎么去做,我总结了一下性能优化如何入手,Android性能优化这个系列目前已经完成11篇,涉及到常用内存优化工具的使用,比如Memory Monitor、MAT、Allaction Tracing、TraceView 等,也涉及到如何提高应用的启动速度以及页面的渲染速度,还有流畅度的检测。学会这些,基本上可以处理一般的性能问题了.
 

1、Android性能优化第(一)篇---基本概念 http://www.jianshu.com/p/c0e5c13d5ecb

第一篇简单回顾java的内存区域划分、引用、内存泄露以及场景,还有垃圾回收

2、Android性能优化第(二)篇---Memory Monitor检测内存泄露 http://www.jianshu.com/p/ef9081050f5c

第二篇主要是使用过Android Studio自带工具Memory Monitor 检测内存泄露

3、Android性能优化第(三)篇---MAT比Menmery Monitor更强大 http://www.jianshu.com/p/2d47d1cf5ccf

接上一篇,介绍另外一种内存泄露的检测工具MAT

4、Android性能优化第(四)篇---Android渲染机制 http://www.jianshu.com/p/9ac245657127

学习一下Android渲染机制,为什么16ms没完成绘制就会卡顿?

5、Android性能优化第(五)篇---Allaction Tracing追踪内存分配的轨迹 http://www.jianshu.com/p/d9e426c10581

Allaction Tracing是追踪内存分配的工具,可以很直观的看到某个操作是如何一步步分配的

6、Android性能优化第(六)篇---TraceView 分析图怎么看 http://www.jianshu.com/p/388c693c1b58

TraceView 是 Android 平台特有的数据采集和分析工具,主要用做热点分析,找出最需要优化的点。我就是靠它将我公司的项目的启动速度明显的提高了。

7、Android性能优化第(七)篇---StrickMode严苛模式检测耗时与内存问题 http://www.jianshu.com/p/2ebc9363ea16

StrictMode意思为严格模式,是用来检测程序中违例情况的开发者工具。使用一般是场景是检测主线程中本地磁盘和网络读写等耗时的操作。注意这个StrictMode是在Anroid2.3以后引入的。严格模式主要检测两大问题,一个是线程策略,即TreadPolicy,另一个是VM策略,即VmPolicy。

8、Android性能优化第(八)篇---App启动速度优化之耗时检测处理 http://www.jianshu.com/p/a0e242d57360

介绍如何统计应用的启动时间和性能检查项,并且用TraceView逐个修复

9、Android性能优化第(九)篇---App启动速度优化之启动页设计 http://www.jianshu.com/p/777fe2f71039

因为启动页一般View的数量比较少,业务逻辑比较简单,启动不太费劲,但是该怎么写启动页面让应用的启动速度更快呢?

10、Android性能优化第(十)篇---布局优化 http://www.jianshu.com/p/c0e0cca14162

Android系统每隔16ms就重新绘制一次Activity,如果没有完成就会有丢帧的现象。为了减轻UI绘制的负担,有必要把Layout编写的一些注意事项总结一下

11、Android性能优化第(十 一)篇---卡顿分析,正确评测流畅度 http://www.jianshu.com/p/d126640eccb1

说到应用的流畅度,都会想到FPS,FPS评测应用流畅度不准确,系统获取FPS的原理是:手机屏幕显示的内容是通过Android系统的SurfaceFLinger类,把当前系统里所有进程需要显示的信息合成一帧,然后提交到屏幕上进行显示,FPS就是1秒内SurfaceFLinger提交到屏幕的帧数。但是用FPS来评测一个应用是否真的卡顿存在两个问题,我们可以使用Choreographer帧率检测。

一直以来,都想多关注一下性能优化方面的知识,得空在简书上找到一篇比较全面的性能优化的博客,现在转载安利给大家.

转载来源:http://www.jianshu.com/p/b3b09fa29f65

Android性能优化的方方面面的更多相关文章

  1. 【腾讯Bugly干货分享】Android性能优化典范——第6季

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/580d91208d80e49771f0a07c 导语 这里是Android性能优 ...

  2. android 性能优化

    本章介绍android高级开发中,对于性能方面的处理.主要包括电量,视图,内存三个性能方面的知识点. 1.视图性能 (1)Overdraw简介 Overdraw就是过度绘制,是指在一帧的时间内(16. ...

  3. Android性能优化典范第二季

      Google前几天刚发布了Android性能优化典范第2季的课程,一共20个短视频,包括的内容大致有:电量优化,网络优化,Wear上如何做优化,使用对象池来提高效率,LRU Cache,Bitma ...

  4. Android性能优化典范第一季

    2015年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App.课程专题不仅仅介绍了Android系统中有关 ...

  5. Android性能优化文章转载

    今天看到几篇比较好的文章就转了!(链接如下) 转载注明出处:Sunzxyong Android性能优化之Bitmap的内存优化 Android性能优化之常见的内存泄漏 Android最佳实践之Syst ...

  6. 《Android性能优化》学习笔记链接<转载>

    今天找到一博文汇总了 Android性能优化 比较好的文章 ,本计划全看完,自己再精简下,因篇幅太长,先收藏了,等有时间 再仔细拜读,总结自己的看法:  第一季: http://www.csdn.ne ...

  7. [转]Android性能优化典范

    2015年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App.课程专题不仅仅介绍了Android系统中有关 ...

  8. [Android Pro] Android性能优化典范第一季

    reference to : http://www.cnblogs.com/hanyonglu/p/4244035.html#undefined 2015年伊始,Google发布了关于Android性 ...

  9. Android性能优化系列 + Android官方培训课程中文版

    Android性能优化典范 - 第6季 http://hukai.me/android-performance-patterns-season-6/   Android性能优化典范 - 第5季 htt ...

随机推荐

  1. Codeforces Round #277 (Div. 2) D. Valid Sets (DP DFS 思维)

    D. Valid Sets time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  2. 07.C#中如何排除/过滤/清空/删除掉字符串数组中的空字符串

    方式一:使用lambda表达式筛选过滤掉数组中空字符串         1 /// <summary> /// 使用lambda表达式排除/过滤/清空/删除掉字符串数组中的空字符串 /// ...

  3. luogu P1137 旅行计划

    题目描述 小明要去一个国家旅游.这个国家有N个城市,编号为1-N,并且有M条道路连接着,小明准备从其中一个城市出发,并只往东走到城市i停止. 所以他就需要选择最先到达的城市,并制定一条路线以城市i为终 ...

  4. 【概率DP】BZOJ4318-OSU!

    [题目大意] 一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为1个长度为n的01串.在这个串中连续的 X个1可以贡献X^3 的分数,这x个1不能被其他连续的1所包含( ...

  5. Spring中与Spring相关的注解

    # 一.Spring的常用组件类注解 ## @Component     被该注解所修饰的类是一个普通的spring bean类,该注解可以替代@Controller.@Service.@Reposi ...

  6. Erlang学习记录(一)——Windows下的环境搭建

    一.安装编译器 在http://www.erlang.org/download.html下载R16B01 Windows Binary File并安装. 二.运行编译器 安装完编译器后,打开安装目录下 ...

  7. 【MySQL笔记】数据库的查询

    数据库的查询 注:文中 [ ...] 代表该部分可以去掉. 理论基础:对表对象的一组关系运算,即选择(selection).投影(projection)和连接(join) 1.select语句 子语句 ...

  8. [转]Java transient关键字

    java 的transient关键字的作用是需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中. trans ...

  9. Xcode9出现错误safe area layout guide before ios 9 真正解决办法

    网上很多解决办法瞎扯淡,以讹传讹之势愈演愈烈. 正解是选中控制器,右边面板的Builds for 选择iOS9.0 and Later,如下图红框广为流传的错解是不勾选Use Safe Area La ...

  10. 网站服务管理系统wdcp系列教程之九

    在我们安装了网站服务管理系统wdcp之后,在使用过程中可能会出现这样或那样的疑问,下面给大家整理几点出来,方便大家学习.还有不懂得话,可以去wdlinux论坛找找相关教程. 1.wdcp如何拒绝或阻止 ...