(本图为:22点性能优化之Android开发)
程序能否运行的快速而高效,这在资源有限的移动终端设备上尤其显得重要。因为即使目前最强大的移动终端的计算能力也无法和市场上普通的桌面PC相抗衡。简单地说,有两个原则在资源受限的系统中必须遵守:
不做不必要的事情。
不分配不必要的内存。
在Android中,设计人员已经从UI、框架、基础平台等多个层次的多个方面进行了优化。但对于开发者而言,在开发过程中,仍然需要针对消耗资源比较多的设计进行规避或者优化。在接下来的内容中,将会针对Android的22点开发性能优化做简略的介绍。
1. 采用硬件加速,在androidmanifest.xml中application添加android:hardwareAccelerated=”true”。不过这个需要在android 3.0才可以使用。android4.0这个选项是默认开启的。
2. View中设置缓存属性.setDrawingCache为true.
3. 优化你的布局。通过Android sdk中tools目录下的layoutopt 命令查看你的布局是否需要优化。
4. 动态加载View. 采用ViewStub 避免一些不经常的视图长期握住引用.
5. 将Acitivity 中的Window 的背景图设置为空。getWindow().setBackgroundDrawable(null);android的默认背景是不是为空。
6. 采用<merge> 优化布局层数。 采用<include >来共享布局。
7. 查看Heap 的大小
8. 利用TraceView查看跟踪函数调用。有的放矢的优化。
9. cursor 的使用。不过要注意管理好cursor,不要每次打开关闭cursor.因为打开关闭Cursor非常耗时。 Cursor.require用于刷cursor.
10. 采用环形Buffer(可以采用链表数据结构实现)。可以设置一个链表长度的上限,根据手势的变化来不断地更新环形Buffer的内容。
11. 采用SurfaceView在子线程刷新UI, 避免手势的处理和绘制在同一UI线程(普通View都这样做)。
12. 采用JNI,将耗时间的处理放到c/c++层来处理。
13. 有些能用文件操作的,尽量采用文件操作,文件操作的速度比数据库的操作要快10倍左右。
14. 懒加载和缓存机制。访问网络的耗时操作启动一个新线程来做,而不要再UI线程来做。
15. 避免创建不必要的对象
16. 如果方法用不到成员变量,可以把方法申明为static,性能会提高到15%到20%
17. 避免使用getter/setter存取field,可以把field申明为public,直接访问
18. static的变量如果不需要修改,应该使用static final修饰符定义为常量
19. 使用增强for循环
如:Set<Object> set = new HashSet<Object>();
// for循环遍历:
for (Object obj: set) {
if(obj instanceof Integer){
int aa= (Integer)obj;
}else if(obj instanceof String){
String aa = (String)obj
} ……..
}
缺点:在遍历 集合过程中,不能对集合本身进行操作
for (String str : set) {
set.remove(str);//错误!
}
20. 私有内部类要访问外部类的field或方法时,其成员变量不要用private,因为在编译时会生成setter/getter,影响性能。可以把外部类的field或方法声明为包访问权限
21. 合理利用浮点数,浮点数比整型慢两倍;
22.针对ListView的性能优化
item尽可能的减少使用的控件和布局的层次;背景色与cacheColorHint设置相同颜色;ListView中item的布局至关重要,必须尽可能的减少使用的控件,布局。RelativeLayout是绝对的利器,通过它可以减少布局的层次。同时要尽可能的复用控件,这样可以减少ListView的内存使用,减少滑动时GC次数。ListView的背景色与cacheColorHint设置相同颜色,可以提高滑动时的渲染性能。ListView中getView是性能是关键,这里要尽可能的优化。getView方法中要重用view;getView方法中不能做复杂的逻辑计算,特别是数据库操作,否则会严重影响滑动时的性能。
以上内容就是对Android开发性能优化的22点做出相对应的简介,仅供小伙伴们参考,好东西要与大家分享。
文章来源于:http://www.alqsoft.com/xinwenzixun/androidkaifa/2014/1113/175.html
相关推荐
【Android性能优化】是Android开发中的重要环节,涵盖了多个关键领域,包括ANR问题解析、crash监控方案、启动速度与执行效率优化、内存优化、耗电优化、网络传输与数据存储优化以及APK大小优化。 **ANR问题解析**是...
Android应用性能优化 开发优秀的Android应用必备指南
以下是Android开发中的性能优化知识点: 1. 高效使用内存:应用生命周期的大部分时间都用于处理内存中的数据。尽可能使用少的内存,不仅是为了减少OutOfMemoryError异常,也是为了提升性能。 2. 数据类型的选择:...
1、性能优化专家:具备深度性能优化与体系化APM建设的能力。 2、架构师:具有丰富的应用架构设计经验与心得,对Android Framework层与热门三方库的实现原理与架构设计了如指掌。 3、音视频/图像处理专家:毫无疑问,...
android界面及代码优化方案,帮助提升android应用的性能
在Android开发领域,性能优化是每个专业开发者必备的技能,特别是在面试环节,这一主题更是备受关注。本专题将深入探讨Android性能优化的关键知识点,帮助开发者提升应用的运行效率和用户体验。 首先,我们要理解...
### Android开发技巧与性能优化 #### 一、前言 随着移动互联网的飞速发展,Android作为最受欢迎的移动操作系统之一,其开发技术和性能优化成为众多开发者关注的重点。本篇文章将根据给定的文件内容,深入探讨...
虽然出版时间可能较早,但其中的许多优化原则和技术仍然是当前Android开发中的核心实践。 首先,书中强调了性能优化的重要性。在移动设备资源有限的背景下,优化能够确保应用运行流畅,延长电池寿命,并提高用户...
在Android开发领域,性能优化是提升用户体验和应用质量的关键环节。这个"免费:Android性能优化视频百度云下载链接.rar"的压缩包文件提供了一个学习资源,可能是由一系列视频教程组成,帮助开发者深入理解和掌握...
根据提供的文件信息,“Android应用性能优化.pdf”这一文档主要聚焦于Android应用的性能优化方法与实践。虽然部分内容涉及社群推广信息,并未直接提供具体的性能优化技术细节,但我们可以通过标题及描述推断出文档的...
本书非常适合那些已经具备一定Android开发经验的开发者,因为在基础知识之上,书中深入探讨了多个关于性能提升的高级主题。 首先,本书中详细介绍了NDK(Native Development Kit)开发。NDK允许开发者用C或C++编写...
在Android应用开发中,性能优化是一项至关重要的任务,它直接影响到用户的体验和应用程序的市场竞争力。"Android应用性能优化最佳实践"这本书深入探讨了如何提升Android应用的性能,以下是一些核心知识点的总结: 1...
在Android开发中,性能优化是提升用户体验的关键环节。其中,UI性能优化尤为重要,因为它直接影响到用户的视觉感知和操作流畅度。Systrace工具是Android提供的一款强大的系统级追踪工具,可以帮助开发者深入理解应用...
根据提供的标题“《Android应用性能优化》.(埃尔韦)”及描述“《Android应用性能优化》.(埃尔韦)”,我们可以推断这本书主要讲述了Android应用程序的性能优化技术与实践。接下来,我们将详细探讨Android应用性能优化...
《Android开发艺术探索》是一本Android进阶类书籍,采用理论、源码和实践相结合的方式来阐述高水准的Android应用开发要点。《Android开发艺术探索》从三个方面来组织内容。第一,介绍Android开发者不容易掌握的一些...
《GOOGLE ANDROID 开发入门与实战》简介 1. 最常用的 ECLIPSE ECLIPSE ECLIPSE ECLIPSE 快捷键& 模拟器快捷键 1.1E CLIPSE 快捷键 1.2 模拟器快捷键 2.ECLISPE 使用技巧 2.1 密技篇: 2.2 外挂篇: 2.3 一般插件...
本资料"初中级Android开发社招面试之性能优化"将探讨一些核心的性能优化策略。 一、UI性能优化 1. 使用RecyclerView替代ListView:RecyclerView提供了更灵活的item布局管理,并且通过ViewHolder模式降低了视图复用...