zoukankan      html  css  js  c++  java
  • 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时间更短,相应的布局复杂度也会减一。
  • 相关阅读:
    Rainmeter 雨滴桌面 主题分享
    行人检測之HOG特征(Histograms of Oriented Gradients)
    const和readonly差别
    ADB命令解析
    Java实现 蓝桥杯VIP 算法训练 接水问题
    Java实现 蓝桥杯VIP 算法训练 星际交流
    Java实现 蓝桥杯VIP 算法训练 星际交流
    Java实现 蓝桥杯VIP 算法训练 星际交流
    Java实现 蓝桥杯VIP 算法训练 星际交流
    Java实现 蓝桥杯VIP 算法训练 星际交流
  • 原文地址:https://www.cnblogs.com/innosight/p/3271231.html
Copyright © 2011-2022 走看看