• 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时间更短,相应的布局复杂度也会减一。
  • 相关阅读:
    根本解决:由于没有远程桌面授权服务器可以提供许可证,远程会话被中断。
    通过SQLServer的数据库邮件来发送邮件
    SQLFullbackup
    vs2015 iis express启动不了及安装DotNetCore.1.0.0-VS2015Tools.Preview2失败的解决方法
    Django1.7+JQuery+Ajax集成小例子
    编译安装带ssl 模块指定版本Python
    细说IIS异常日志 — 你必须知道的功能
    7 MySQL存储过程和函数
    6 MySQL视图
    5 MySQL索引
  • 原文地址:https://www.cnblogs.com/innosight/p/3271231.html
Copyright © 2020-2023  润新知