zoukankan      html  css  js  c++  java
  • Android性能优化系列总篇

    目前性能优化专题已完成以下部分:

    性能优化总纲——性能问题及性能调优方式

    性能优化第四篇——移动网络优化

    性能优化第三篇——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代码部分优化、网络优化都可以归纳到上面的几种方式中。具体见:

    性能优化第四篇——移动网络优化

    性能优化第三篇——Java(Android)代码优化
    性能优化第二篇——布局优化
    性能优化第一篇——数据库性能优化

    性能优化实例

  • 相关阅读:
    CDZSC_2015寒假新人(1)——基础 D
    CDZSC_2015寒假新人(1)——基础 C
    CDZSC_2015寒假新人(1)——基础 B
    CDZSC_2015寒假新人(1)——基础 A
    Fluent Python: Classmethod vs Staticmethod
    Fluent Python: @property
    Fluent Python: Mutable Types as Parameter Defaults: Bad Idea
    RedHat/CentOS利用iso镜像做本地yum源
    CentOS6 安装VNCserver
    Centos6设置DNS
  • 原文地址:https://www.cnblogs.com/wxishang1991/p/5235404.html
Copyright © 2011-2022 走看看