Android之的性能优化方法
来源:互联网 发布:易语言mysql数据库 编辑:程序博客网 时间:2024/06/17 23:24
1、布局优化:
原理:尽量减少布局的文件的层级,层级越少,Android绘制时的工作量少了,程序性能提高
1、删除无用的控件和层级,选择使用性能较低的ViewGroup,比如RelativeLayout
2、如果布局在有LinearLayout和RelativeLayout,建议使用LinearLayout,RelativeLayout功能复杂,布局花费更多的CPU时间,如果嵌套还是用RelativeLayout
3、采用<include>标签 <merge> 标签和ViewStub标签
2、绘制优化:
绘制优化是只View的onDraw方法要避免大量操作,
1、在onDraw方法里面不要创建新的布局对象,因为onDraw方法可能频繁调用
2、在onDraw方法中不要做耗死的任务,不嫩执行成千上万的耗时操作,这样会抢CPU的时间片,造成View的绘制不流畅,尽量降低onDraw的时间复杂度。
3、内存泄露优化:
1、静态变量导致内存泄露,比如activity里面有静态变量,导致activity无法销毁
2、单例模式导致内存泄露,单例模式的特点是起生命周期和Application保持一致,因此activity无法及时释放
3、属性动画导致内存泄露,属性动画是安卓3.0开始,Google提供的,属性动画有一类无限循环的动画,如果在Activity中播放没有onDestroy中停止动画,那么会一直播放下去,解决办法在Activity中onDestroy方法调用animator.cancel()停止动画
4、 响应优化和ANR日志分析
响应速度优化核心思想是避免主线程中做耗死操作,ANR发生 系统会在/data/anr目录下创建一个文件traces,txt.就嫩分析原因
5、ListView和Bitmap优化
listView:
1 采用ViewHolder并且避免在getView中执行耗时操作,
2 要更具列表滑动状态来控制任务的执行频率,比如当初列表快速滑动时显然是不太适合开启大量的一部任务
3、开启硬件加速来是ListView变得更加流畅
Bitmap优化:
Bitmap的优化主要是通过BitmapFactory.Options来更加需要对图片进行采样,采样过程中主要用到了BitmapFactory.Options的inSampleSize参数
6、线程优化
尽量使用线程池,避免大量使用Thread,线程池可以重用内部的线程,避免了线程的创建和销毁带来的性能开销,还能有效的控制线程池的最大并发数,避免占用系统资源从而导致阻塞现象的发生。
7、一些优化的建议
避免创建过多的对象
不要使用每局,枚举占用的内存空间要比整形大
常量尽量使用static final来修饰
使用Android特定的数据结构,比如SparseArray和Pair等,他们具有更好的性能
适当使用软引用
采用内存缓存和磁盘缓存
尽量采用静态内部类,这样可以皮面潜在的由于内部类导致的内存泄露
0 0
- Android之的性能优化方法
- android开发之android性能优化的方法
- Android的性能优化方法
- Android的性能优化方法
- Android性能优化的方法
- android性能优化之context的优化
- Android 性能优化方法
- Android 性能优化方法
- Android 性能优化方法
- Android性能优化方法
- Android--性能优化方法
- Android 性能优化的一些方法
- Android 性能优化的一些方法(2)
- Android 性能优化的一些方法(转)
- Android 性能优化的一些方法
- Android 性能优化的一些方法
- Android 性能优化的一些方法
- Android 性能优化的一些方法
- The connection to adb is down, and a severe error has occured
- 反射
- 使用HttpClient对ASP.NET Web API服务实现增删改查
- c++函数传参的一些指导原则
- Linux指令--watch,at
- Android之的性能优化方法
- Android中图案锁的实现
- 整了一个缩放算法,可以实现N倍放大,N倍缩小。
- 获取地图坐标
- cocos code IDE 自编译模拟器不能正确的运行以及断点调试连接IDE超时的解决方法
- Lesson 30 The death of a ghost
- 网络编程
- dubbo demo工程
- 移动平台集成支付宝