安卓性能优化总结

一、合理的管理内存

1.节制的使用service:如果应用程序当中需要使用Service来执行后台任务的话,请一定要注意只有当任务正在执行的时候才应该让Service运行起来。另外,当任务执行完之后去停止Service的时候,要小心Service停止失败导致内存泄漏的情况。 为了能够控制Service的生命周期,Android官方推荐的最佳解决方案就是使用IntentService,这种Service的最大特点就是当后台任务执行结束后会自动停止,从而极大程度上避免了Service内存泄漏的可能性。

2.当界面不可见时释放内存

3.避免bitmap上浪费内存 :读取一个Bitmap图片的时候,有一点一定要注意,就是千万不要去加载不需要的分辨率。

4.使用优化过的数据集合:如SparseArray,SparseBooleanArray,以及LongSparseArray等,使用这些API可以让我们的程序更加高效。

5.谨慎使用面向对象编程:因为的抽象的编程方法更加面向对象,而且在代码的维护和可扩展性方面都会有所提高。但是,在Android上使用抽象会带来额外的内存开支,因为抽象的编程方法需要编写额外的代码,虽然这些代码根本执行不到,但是却也要映射到内存当中,不仅占用了更多的内存,在执行效率方面也会有所降低。

6.尽量避免使用依赖注入框架:框架为了要搜寻代码中的注解,通常都需要经历较长的初始化过程,并且还可能将一些你用不到的对象也一并加载到内存当中。

7.使用ProGuard简化代码

8.使用多个进程

二、高性能编码优化

1.避免创建不必要的对象:因为创建一个对象就意味着垃圾回收器需要回收一个对象,而这两步操作都是需要消耗时间的。

  1. 静态优于抽象:
  2. 对常量使用static final修饰符
  3. 使用增强型for循环语法

三、布局优化

  1. 重用布局文件:<include>
  2. <merge>:换用了<merge>标签,这就表示当有任何一个地方去include这个布局时,会将<merge>标签内包含的内容直接填充到include的位置,不会再添加任何额外的布局结构。
  3. 仅在需要时才加载布局

原文地址:https://www.cnblogs.com/ShengXi-1994/p/8907243.html

时间: 2024-09-30 23:58:15

安卓性能优化总结的相关文章

安卓性能优化 视频

韩梦飞沙  韩亚飞  [email protected]  yue31313  han_meng_fei_sha 安卓-性能优化之内存泄漏-原创-高清视频-爱奇艺 ========= Android手机内存管理与性能优化视频教程下载 下载:http://pan.baidu.com/s/1skkSdI1密码:kdcs 01.Dalvik介绍及其优势和文件格式 02.基于栈与基于寄存器比较 03.DEX与ODEX文件格式和ODEX化详解 04.GC垃圾回收机制 05.内存监测分析工具DDMS介绍 0

安卓性能优化手册

本手册适合至少有初级经验的开发者查阅或复习相关知识使用,新手可能会看不懂. 1.java代码优化 1.1安卓如何执行代码 dvm:.java->.class->.dex->.apk 优化斐波那契数列: 斐波那契数列的递推公式是f(n)=f(n-1)+f(n-2),特征方程为:x2=x+1,解该方程得(1+sqrt(5))/2,(1-sqrt(5))/2.所以f(n)=Ax1n+Bx2n,带入f(0)=0,f(1)=1得A=sqrt(5)/5,B=-sqrt(5)/5.则f(n)求出. B

安卓性能优化

谷歌性能点滴 http://developer.android.com/intl/zh-cn/training/articles/perf-tips.html 本文主要涉及一些小优化,组合使用可以提升App整体性能,但不会显著的提升性能.提升性能首选合适的算法和数据结构,这超出了本文的范畴.这里的技巧应该作为你平时写代码的习惯,以便写出高效的代码. 高效的代码有两个基本的规则: 不做不必要的事 尽量不分配内存 优化Android程序的时候需要面对不同的硬件.不同版本的VM,不同的处理器,不同的速

安卓性能优化之Activity和Fragment通过onSaveInstanceState()保存和恢复数据

Activity和Fragment 都有自己的生命周期,而且很类似.Fragment比Activity多了onAttach()和onCreateView()这些方法.整体它们两者是一样的周期,都会经历从创建视图( onCreate(),onCreateView(),onStart() )到暂停( onPause(), onStop() ) 到重新返回( onResume() ) 到最后销毁( onDetroyView(), onDestroy() ) 这些方法. 之前有提过,熟悉组件的这些生命周

安卓性能优化之计算apk启动时间

之前有人在知乎提问:"怎么计算apk的启动时间?" : 利用Python或者直接用adb命令怎么计算apk的启动时间呢?就是计算从点击图标到apk完全启动所花费的时间.比如,对游戏来说就是点击游戏图标到进入到登录界面的这段时间. 已知的两种方法貌似可以获取,但是感觉结果不准确:一种是,adb shell am start -w packagename/activity,这个可以得到两个值,ThisTime和TotalTime,不知道两个有什么区别,而且与实际启动时间不匹 配,两者相加都

[Android]Android性能优化

安卓性能优化 性能优化的几大考虑 Mobile Context 资源受限 内存,普遍较小,512MB很常见,开发者的机器一般比用户的机器高端 CPU,核心少,运算能力没有全开 GPU,上传大的纹理(texture),overdraw 内存开销大,会导致系统换入换出更频繁,GC更频繁,APP被kill.被重启更频繁,不仅会消耗更多电量,而且GC会消耗大量时间,使得应用程序渲染速度低于60fps(GC耗时dalvik 10-20ms,ART 2-3ms) 外部存储与网络,也是受限的,需要考虑资源的使

2017前端性能优化清单

https://github.com/Findow-team/Blog/issues/11?utm_source=tuicool&utm_medium=referral 2017前端性能优化清单 你开始使用渐进启动了么?是不是已经使用过React和Angular中tree-shaking和code-splitting两个工具?有没有用过Brotli.Zofli和HPACK这几种压缩技术,或者OCSP协议(在线证书状态协议)?知不知道资源提醒,客户端提醒和CSS containment一类的技术?

手机淘宝 521 性能优化项目揭秘

又是一年双十一,亿万用户都会在这一天打开手机淘宝,高兴地在会场页面不断浏览,面对琳琅满目的商品图片,抢着添加购物车,下单付款.为了让用户更顺畅更方便地实现这一切,做到“如丝般顺滑”,双十一前夕手机淘宝成立了“521”(我爱你)性能优化项目,在日常优化基础之上进行三个方面的专项优化攻关,分别是1)H5页面的一秒法则:2)启动时间和页面帧率提升20%:3)Android内存占用降低50%.优化过程中遇到的困难,思考后找寻的方案,实施后提取的经验都会在下面详细地介绍给读者. 第一章 一秒法则的实现 “

Android开发性能优化总结(一)

安卓开发应用首先要讲究良好的用户体验,如果一款软件卡顿现象严重,不流畅,经常崩溃,那么将给用户带来极不良好的体验,从而损失用户. 在实际开发和学习中,我总结了一下关于安卓性能的优化,供大家参考交流. 应用程序的性能问题体现在很多方面, 比如第一次启动速度慢,或者进入某一界面速度慢:动画执行过程不流畅,或者动画执行卡顿时间长:ListView列表滑动过程中卡顿,不流畅:应用程序自定义的某特定界面执行速度慢:响应某一用户事件时长时间无响应(ANR):操作数据库时,执行大量数据的增删改查操作,执行速度