本文为性能优化系列的总纲,主要介绍性能调优专题计划、何为性能问题、性能调优方式及前面介绍的数据库优化、布局优化、Java(Android)代码优化、网络优化具体对应的调优方式。
1、调优专题博客计划
目前性能优化专题已完成以下部分:
性能优化第三篇——Java(Android)代码优化
性能优化第二篇——布局优化
性能优化第一篇——数据库性能优化
后续计划性能优化——诊断及工具(目前只有关于TraceView的介绍)、性能优化——内存篇、性能优化——JNI篇,性能优化——电量篇。
2、何为性能问题
在性能测试中存在两个概念:
(1). 响应时间
指从用户操作开始到系统给用户以正确反馈的时间。一般包括逻辑处理时间 + 网络传输时间 + 展现时间。对于非网络类应用不包括网络传输时间。
展现时间即网页或 App 界面渲染时间。
响应时间是用户对性能最直接的感受。
(2). TPS(Transaction Per Second)
TPS为每秒处理的事务数,是系统吞吐量的指标,在搜索系统中也用QPS(Query Per Second)衡量。TPS一般与响应时间反相关。
通常所说的性能问题就是指响应时间过长、系统吞吐量过低。
对后台开发来说,也常将高并发下内存泄漏归为性能问题。
对移动开发来说,性能问题还包括电量、内存使用这两类较特殊情况。
3、性能调优方式
明白了何为性能问题之后,就能明白性能优化实际就是优化系统的响应时间,提高TPS。优化响应时间,提高TPS。方式不外乎这三大类:
(1) 降低执行时间
又包括几小类
a. 利用多线程并发或分布式提高 TPS
b. 缓存(包括对象缓存、IO 缓存、网络缓存等)
c. 数据结构和算法优化
d. 性能更优的底层接口调用,如 JNI 实现
e. 逻辑优化
f. 需求优化
(2) 同步改异步,利用多线程提高TPS
(3) 提前或延迟操作,错峰提高TPS
对于数据库优化、布局优化、Java代码部分优化、网络优化都可以归纳到上面的几种方式中。具体见:
个人认为,性能的概念没那么窄,APP的轻快稳省都在性能的范畴里面,也都可以分别深入探讨。
Pingback: [转]移动端网络优化
Pingback: Android公共库——图片缓存 网络缓存 下拉及底部更多ListView 公共类 | 数据魔方
Pingback: 性能优化系列总篇 | 数据魔方
Pingback: 移动端网络优化-紫金星程序员教程网
Pingback: Android性能调优 | 技术联盟
Pingback: (转载)性能优化之布局优化 | 转载文章 | android学习 -android开发- android开源码 – 移动互联网
我经常来楼主博客啊
嗯,多谢,多分享给其他人
Pingback: 【转载】分享在appstore项目中的性能调优点,包括同步改异步、缓存、Layout优化、数据库优化、算法优化、延迟执行等。利用TraceView | Barnaby Chu's blog
查询问题,来到LZ的Blog, 真的收益匪浅,非常感谢分享! LZ成为了我的一个目标。。。