通常项目比较大的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. 链式前向星实现的堆优化dij求最短路模板

    #include<cstdio> #include<string> #include<cstdlib> #include<cmath> #include ...

  2. 验证二叉查找树(LintCode)

    验证二叉查找树 给定一个二叉树,判断它是否是合法的二叉查找树(BST) 一棵BST定义为: 节点的左子树中的值要严格小于该节点的值. 节点的右子树中的值要严格大于该节点的值. 左右子树也必须是二叉查找 ...

  3. HDU 6065 RXD, tree and sequence (LCA DP)

    RXD, tree and sequence Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java ...

  4. 【爬虫】python requests模拟登录知乎

    需求:模拟登录知乎,因为知乎首页需要登录才可以查看,所以想爬知乎上的内容首先需要登录,那么问题来了,怎么用python进行模拟登录以及会遇到哪些问题? 前期准备: 环境:ubuntu,python2. ...

  5. 2017 ACM-ICPC ECFINAL过山车体验

    这次采用domjudge判题,算是比较好玩的啦.外榜地址:http://board.acmicpc.cn/ 然后我们很可惜地止步于192名QAQ,没看出C是个傻逼题,没读懂B..我得背锅,亏我还打了那 ...

  6. (原创)Stanford Machine Learning (by Andrew NG) --- (week 10) Large Scale Machine Learning & Application Example

    本栏目来源于Andrew NG老师讲解的Machine Learning课程,主要介绍大规模机器学习以及其应用.包括随机梯度下降法.维批量梯度下降法.梯度下降法的收敛.在线学习.map reduce以 ...

  7. JDK源码学习笔记——String

    1.学习jdk源码,从以下几个方面入手: 类定义(继承,实现接口等) 全局变量 方法 内部类 2.hashCode private int hash; public int hashCode() { ...

  8. Problem C: 程序改错(递归函数):数字转字符

    Description 下面程序中“/ ***** N ***** /”的下一行中有错误,请改正(注意:不得加行.减行.加句.减句,否则后果自负). 该程序功能:用递归法将一个六位整数n转换成字符串, ...

  9. 【数据结构】【平衡树】浅析树堆Treap

    [Treap] [Treap浅析] Treap作为二叉排序树处理算法之一,首先得清楚二叉排序树是什么.对于一棵树的任意一节点,若该节点的左子树的所有节点的关键字都小于该节点的关键字,且该节点的右子树的 ...

  10. GitHub 给已存在的仓库增加开原协议LICENSE

    如果你创建仓库时没有设置开原协议LICENSE,后续可以按下面方法增加开原协议LICENSE. 1.点击Create new file,如下图 2.文件名填LICENSE.md,右边就会出现choos ...