`
lynen
  • 浏览: 129973 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

Android性能调优出发点

 
阅读更多

 http://www.trinea.cn/android/performance/

http://www.trinea.cn/android/android-performance-demo/

以下内容是从以上链接中提取出的要深入的大纲内容

何为性能问题

在性能测试中存在两个概念:

(1). 响应时间

指从用户操作开始到系统给用户以正确反馈的时间。一般包括系统处理时间 + 网络传输时间 + 展现时间。对于非网络类应用不包括网络传输时间。响应时间是用户对性能最直接的感受。

(2). TPS(Transaction Per Second)

TPS为每秒处理的事务数,是系统吞吐量的指标,在搜索系统中也用QPS(Query Per Second)衡量。TPS一般与响应时间反相关。

  备注:移动端的性能还包括FPS,该指标是用于衡量移动端UI流畅度的一个指标

 

通常所说的性能问题就是指响应时间过长、系统吞吐量过低。在web性能测试中,也会将高并发下内存泄漏归为性能问题。

在Android应用程序中由于系统ANR的限制,所以对主线程的响应时间提出了更高的要求。Android ANR的具体要求是指Activity对事件响应不超过5秒,BroadcastReceiver中执行时间不超过10秒。

 

性能调优方式

明白了何为性能问题之后,就能明白性能优化实际就是优化系统的响应时间,提高TPS。优化响应时间,提高TPS的方式包括:

(1) 降低执行时间

这部分包括:a. 缓存(包括对象缓存、IO缓存、网络缓存), b. 数据存储类型优化, c. 算法优化, d. JNI, e. 逻辑优化, f. 需求优化

(2) 同步改异步,利用多线程提高TPS

(3) 提前或延迟操作,错开时间段提高TPS

对于数据库优化、布局优化、Java代码部分优化都可以归纳到上面的几种方式中。

 

1.性能瓶颈的定位

学会使用各种工具定位各种可能导致的性能问题,工具包括
(1)Traceview、monkey、monkey runner调试

 

2.性能调优点

(1)同步改异步

一定程度上解决ANR的问题,但是需要注意控制线程本身的最大数量导致的性能问题

(2)缓存

图片缓存、线程池、View缓存、IO缓存、消息缓存、通知栏notification缓存

(3)Layout优化

(4)数据库优化

(5)算法优化

(6)延迟执行

 

分享到:
评论

相关推荐

    【eoeAndroid特刊】12-14

    5. Android性能调优:从源码角度出发,学习如何优化应用程序的性能,包括内存管理、线程调度和渲染优化。 通过这些特刊的学习,开发者不仅可以提升Android开发的专业技能,还能掌握最新的技术趋势和最佳实践,从而...

    Android面试宝典1

    不过,我们可以从这个场景出发,探讨一下在Android开发面试中可能会遇到的一些核心知识点。 1. **Android基础知识**:面试通常会涵盖Android操作系统的基本原理,如Activity生命周期、Intent机制、...

    直播平台运维技术人员推荐配置.docx

    4. **UI把控:** 负责UI整体布局以及风格定位,以用户视觉、用户体验为出发点进行整体把控。 5. **功能集成:** 协助后端开发工程师完成功能的嵌入与调试。 6. **文档编写:** 负责相关技术文档编写。 **任职要求:...

    进击的Java 第16期

    - **性能优化技巧**:介绍了如何利用Java虚拟机(JVM)的特点进行性能调优,包括垃圾回收机制的理解与应用、多线程编程的最佳实践等。 - **实战案例**:通过实际的Android应用开发案例,演示了高效编码的全过程,帮助...

    零基础学Cocos2d-x开发精品视频

    14. **性能优化**:探讨内存管理和性能调优技巧,以确保游戏运行流畅,不消耗过多系统资源。 通过上述一系列视频课程,学员可以从基础理论到实际应用,逐步掌握Cocos2d-x的开发技能。课程涵盖了从环境配置、基本...

    任亮广西移动电商项目笔记

    6. **性能优化**:包括服务器性能调优、前端加载优化、数据库查询优化等,以提升用户体验。 7. **安全性**:讲解如何确保用户数据安全,如HTTPS、OAuth认证、防止SQL注入和XSS攻击等措施。 8. **项目管理**:介绍...

    Fight

    JVM的性能调优是提升Java应用性能的关键,包括JVM参数调整、堆内存分配、垃圾收集策略选择等。 6. **Java集合框架**:Java提供了丰富的集合框架,如ArrayList、LinkedList、HashSet、HashMap等,它们为数据存储和...

Global site tag (gtag.js) - Google Analytics