您的位置:首页 > 移动开发 > Android开发

Android的性能优化

2016-02-17 21:58 387 查看
1 android性能优化的方法,有助于提高android程序的性能,方法有哪些?

2 程序设计的一些思想,有助于提高程序的可维护,可扩展性,思想有哪些?

3 2015年,google在youtube上发布android性能优化典范:性能问题的底层工作原理,如何通过工具找出性能的问题,提升性能的建议

4 做程序设计

1> 完成功能开发

2> 提高程序性能

3>代码的可维护性,可扩展性

5 关于代码的可维护性,可扩展性,可以通过合理的设计原则去完成,

设计原则,例如:

1>良好的代码风格

2>清晰的代码层级

3>代码的可扩展性

4> 合理的设计模式

6 性能优化的方法:

布局优化

绘制优化

线程优化

Bitmap优化

响应速度的优化(ANR日志分析方法)

ListView的优化

内存泄露的优化

7 手机是移动设备,所以CPU,内存不够用

内存使用多了,就oom,内存溢出

cup过多的使用,也就是大量的耗时任务,手机会卡,或程序无响应,ANR

8 性能优化的很重要的问题就是内存泄露,内存泄露不会导致程序的功能异常,但是会提高内存溢出的几率

9 内存泄露的分析工具:MAT

10 布局优化

1 思想:减少布局的层级

2 解释:层级少了,android绘制时的工作量就少了

3 如何进行布局优化?

首先删除布局中无用的控件和层级

其次有选择的使用性能较低的ViewGroup,EX:RelativeLayout

RelativeLayout vs LinearLayout

R的功能复杂,布局需要花费更多的cpu时间

FrameLayout跟L差不多

但是要尽量避免嵌套,嵌套就相当于增加层级,所以还是建议用R

<inclide>,<merge>,<ViewStub>
这些标签,1主要用于布局重用,2 一般跟 1 配合使用,2 可以降低布局的层级,3提供按需加载的功能 ,有需要时才将ViewStub中的布局加载到内存,提高程序的初始化效率

11 绘制优化

绘制优化是指View的onDraw方法要避免执行大量的操作,主要体现在两个方面:

onDraw中不要创建新的局部对象,因为onDraw方法会被频繁调用,就会在一瞬间产生大量的临时对象,不仅会占用过多内存,还会频繁的gc,降低了程序的效率

onDraw中不要做耗时任务,也不能执行成千上万次的循环操作,大量的循环会十分强占cpu的时间片,会造成view的绘制过程不流畅

性能优化的建议:

1 对象:少new

2 枚举:少用,占用内存空间比int大

3 静态内部类:多用,防止内部类造成的内存泄露

4 常量:用static final修饰

5 android特有的数据结构:SparseArray,Pair,性能更好

6 内存缓存,磁盘缓存:采用

7 软引用,弱引用:适当使用

一些术语的总结:

可维护

可扩展

代码的维护代价

可读性

设计原则

代码风格

代码层级
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: