每日一贴,今天的内容关键字为优化性能
有关Android应用性能优化的议题,互联网上众说纷纭,可以说没有一个统一的标准和标准可循。本文主要是结合作者的现实项目情况以及项目前期的知识贮备,对这一议题加以总结和概括,本文不会涉及太多代码的细节。仅以解决计划抛砖引玉,欢送大家指正和弥补。
一、优化日程篇
1.通过分析代码细化优化点;
2.优化启动加载项;
3.数据库处理方式优化;
4.优化经常使用操作的性能;
5.内存占用优化以及性能晋升交付。
二、优化代码篇
1.防止创建不必要的对象;
2.如果方法用不到成员变量,可以把方法声明为static,性能提高15%-20%;
3.防止使用getters/setters存取Field,可以把Field声明为public直接访问,性能提高三倍;
4.static变量如果不须要修改,应使用final修饰符定义为常量;
5.使用增强For语句,性能提高三倍;
6.私有内部类要访问外部类的Field或方法,可以把外部类的Field或方法声明为包访问权限;
7.公道利用浮点数,比整型慢两倍。
三、优化经常使用控件篇
Google的SDK供给的API当中的控件在现实项目中也是须要优化的,因为SDK供给给我们的是通用版本,为了保障兼容的最大化,很多控件的执行性能是可以进行晋升的,这里以最常见的ListView控件为例,涉及它的优化计划可以从如下几个方面去斟酌:
1.使用ViewHolder;
2.启用convertView缓存;
3.分批加载数据;
4.延迟(异步)加载数据;
5.构建LRUCache。
四、优化页面布局篇
Android布局是通过ViewGroup分层构建而来,其结构可以看成树型结构,当树的深度很大或者说层次过多时,页面布局的复杂度就变大,绘制页面的时间就越多。Android界面寻求的是炫酷还是复杂度越高,尽量用最少复杂度的布局构建成的界面才是开发者的现实寻求。可以利用Android SDK目录的tools文件夹下的hierarchyviewer工具来查看每个界面布局层次结构,探寻层次结构优化点。例如:两层LinearLayout牵引ImageButton和TextView的布局可以改由一个RelativeLayout来牵引,这样布局绘制ImageButton和TextView时间更短,响应的布局复杂度也会减一。
文章结束给大家分享下程序员的一些笑话语录:
马云喜欢把自己包装成教主,张朝阳喜欢把自己包装成明星,李彦宏喜欢把自己包装成的很知性,丁磊喜欢把自己包装的有创意,李开复总摆出一副叫兽的样子。看来的。其实我想说,缺啥补啥,人之常情。
---------------------------------
原创文章 By
优化和性能
---------------------------------