Android应用性能优化整体策略

传送门 ☞ 轮子的专栏 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229

        有关Android应用性能优化的议题,在互联网上可以说是众说纷纭,没有一个统一的标准和规范可循。本文主要是结合作者的实际项目情况以及项目前期的知识储备,对这一议题加以总结和概括,本文不会涉及太多代码的细节。仅以解决方案抛砖引玉,欢迎大家指正和补充。

1优化日程篇

(1)通过分析代码细化优化点;
(2)优化启动加载项;
(3)数据库处理方式优化;
(4)优化常用操作的性能;
(5)内存占用优化以及性能提升交付。

2优化代码篇

(1)避免创建不必要的对象;
(2)如果方法用不到成员变量,可以把方法声明为static,性能提高15%-20%;
(3)避免使用getters/setters存取Field,可以把Field声明为public直接访问,性能提高三倍;
(4)static变量如果不需要修改,应使用final修饰符定义为常量;
(5)使用增强For语句,性能提高三倍;
(6)私有内部类要访问外部类的Field或方法,可以把外部类的Field或方法声明为包访问权限;
(7)合理利用浮点数,比整型慢两倍。

3优化常用控件篇

        Google的SDK提供的API当中的控件在实际项目中也是需要优化的,因为SDK提供给我们的是通用版本,为了保证兼容的最大化,很多控件的执行性能是可以进行提升的,这里以最常见的ListView控件为例,涉及它的优化方案可以从如下几个方面去考虑:
(1)构建ViewHolder类;
(2)启用convertView缓存;
(3)分批加载数据;
(4)延迟(异步)加载数据;
(5)构建LRUCache。

4优化页面布局篇

        Android布局是通过ViewGroup分层构建而来,其结构可以看成树型结构,当树的深度很大或者说层次过多时,页面布局的复杂度就变大,绘制页面的时间就越多。Android界面追求的是炫酷还是复杂度越高,尽量用最少复杂度的布局构建成的界面才是开发者的实际追求。可以利用Android SDK目录的tools文件夹下的hierarchyviewer工具来查看每个界面布局层次结构,探寻层次结构优化点。例如:两层LinearLayout牵引ImageButton和TextView的布局可以改由一个RelativeLayout来牵引,这样布局绘制ImageButton和TextView时间更短,相应的布局复杂度也会减一。
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值