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)延迟执行
相关推荐
5. Android性能调优:从源码角度出发,学习如何优化应用程序的性能,包括内存管理、线程调度和渲染优化。 通过这些特刊的学习,开发者不仅可以提升Android开发的专业技能,还能掌握最新的技术趋势和最佳实践,从而...
不过,我们可以从这个场景出发,探讨一下在Android开发面试中可能会遇到的一些核心知识点。 1. **Android基础知识**:面试通常会涵盖Android操作系统的基本原理,如Activity生命周期、Intent机制、...
4. **UI把控:** 负责UI整体布局以及风格定位,以用户视觉、用户体验为出发点进行整体把控。 5. **功能集成:** 协助后端开发工程师完成功能的嵌入与调试。 6. **文档编写:** 负责相关技术文档编写。 **任职要求:...
- **性能优化技巧**:介绍了如何利用Java虚拟机(JVM)的特点进行性能调优,包括垃圾回收机制的理解与应用、多线程编程的最佳实践等。 - **实战案例**:通过实际的Android应用开发案例,演示了高效编码的全过程,帮助...
14. **性能优化**:探讨内存管理和性能调优技巧,以确保游戏运行流畅,不消耗过多系统资源。 通过上述一系列视频课程,学员可以从基础理论到实际应用,逐步掌握Cocos2d-x的开发技能。课程涵盖了从环境配置、基本...
6. **性能优化**:包括服务器性能调优、前端加载优化、数据库查询优化等,以提升用户体验。 7. **安全性**:讲解如何确保用户数据安全,如HTTPS、OAuth认证、防止SQL注入和XSS攻击等措施。 8. **项目管理**:介绍...
JVM的性能调优是提升Java应用性能的关键,包括JVM参数调整、堆内存分配、垃圾收集策略选择等。 6. **Java集合框架**:Java提供了丰富的集合框架,如ArrayList、LinkedList、HashSet、HashMap等,它们为数据存储和...