传送门 ☞ 轮子的专栏 ☞ 转载请注明 ☞ 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时间更短,相应的布局复杂度也会减一。

转载于:https://www.cnblogs.com/innosight/archive/2013/05/28/3271231.html

Android应用性能优化整体策略相关推荐

  1. Android APP性能优化

    转载自:https://www.cnblogs.com/qwangxiao/p/8727229.html Android APP性能优化(最新总结) 导语 安卓大军浩浩荡荡,发展已近十个年头,技术优化 ...

  2. Android WebView 性能优化

    原文出处:http://motalks.cn/2016/09/11/Android-WebView-JavaScript-3/ WebView相关阅读 Android WebView 和 javaSc ...

  3. Android APP性能优化(一)

    Android APP性能优化(最新总结) 安卓大军浩浩荡荡,发展已近十个年头,技术优化日异月新,如今Android 8.0 Oreo 都发布了,Android系统性能已经非常流畅了.但是,到了各大厂 ...

  4. android 应用性能优化1

    1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关于性能的建议,感觉大家你一总结.我一总结的都说到了很多优化注意事项,但是看过这些文章后大多数存在一个问题就是只 ...

  5. Android应用性能优化之优化列表头像过度绘制[一]

    为什么80%的码农都做不了架构师?>>>    操作的是否顺畅.卡顿,决定着整体的流畅程度. 事实上android跟iphone的差别,个人觉得很大程度上决定于流畅程度,无论是动画, ...

  6. C语言性能优化书籍,Android应用性能优化 (埃尔韦) 中文PDF扫描版

    <android应用性能优化>主要介绍如何调优android 应用,以使应用更健壮并提高其执行速度.内容包括用java.ndk 优化应用,充分利用内存以使性能最大化,尽最大可能节省电量,何 ...

  7. Android UI性能优化 检测应用中的UI卡顿

    本文已在我的公众号hongyangAndroid首发. 转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/58626355 本文出自 ...

  8. Android的性能优化,全方面给你讲明白

    前言: 作为Android系统的使用者,我们经常会遇到图片加载速度慢.甚至长时间无响应,软件使用不流畅.甚至经常性卡退等问题,这些都是Android开发师需要进一步改进的地方,正是如此,公司对安卓项目 ...

  9. Android客户端性能优化(魅族资深工程师毫无保留奉献)

    Android客户端性能优化(魅族资深工程师毫无保留奉献) 转载学习:http://blog.tingyun.com/web/article/detail/155?from=groupmessage& ...

  10. Android App 性能优化系列结语篇

    Android App 性能优化系列结语篇 原文出处:http://gold.xitu.io/post/581f4ad667f3560058a33057 关于Android App的优化, 从第一篇的 ...

最新文章

  1. 我的世界javamod怎么装_易拉罐装的葡萄酒你们能接受吗?
  2. 商业智能项目错误经验总结(三) 需求调研
  3. vue项目打包到腾讯云服务器全过程
  4. 精美的手机界面设计素材和线框图设计工具推荐
  5. 都2021年了,c/c++开发竟然还能继续吃香??
  6. 【探索测试篇】探索无界,BUG无限,让程序猿头疼的测试技术
  7. Matlab导出高DPI图像——生成高分辨率.eps .tiff .jpg
  8. IP地址子网的划分机制
  9. ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案(转)
  10. 前端响应式のmedia文件分离
  11. 2022-2023丰田bZ4X维修手册电路图TOYOTA技术资料
  12. oracle按照拼音排序,ORACLE根据中文拼音首字母排序、取得中文拼音首字母函数
  13. Ubuntu 安装MinGW32出现Unable to locate package mingw32找不到安装包的解决方法和思路
  14. SQL Server2008函数大全
  15. 从FrameDebugger看Unity渲染
  16. 智能家居论文文献_智能家居文献综述范文
  17. CTF中Crypty(密码类)入门必看
  18. 可解释知识追踪(整理更新)
  19. Spring Boot 探索之旅(二)—— Hello World
  20. 3D游戏编程与设计作业一

热门文章

  1. 满二叉树与完全二叉树入门
  2. spark SQL压缩入门
  3. hive内部表与外部表入门
  4. 深入浅出解读 Java 虚拟机的差别测试技术
  5. JAVA设计模式-单例模式(Singleton)线程安全与效率
  6. iOS定位服务CoreLocation
  7. HTML5学习笔记(二):HTML基础学习之二
  8. 理解Python的协程机制-Yield
  9. javascript中在链表中向前(向后)移动n个节点
  10. 拖拽上传技术-----html5[转载]