Android性能优化
2020-03-22 本文已影响0人
和莱
Android性能优化包括布局优化、绘制优化、内存优化、线程优化、响应速度优化、Bitmap优化和ListView等。
布局优化
1、使用#include可以对布局进行重用,也避免了布局文件过大过长,有利于维护;
2、使用Merge减少层级,减少不必要的绘制过程,比如父容器是linearLayout,那么子元素的linearLayout就可以减少;
3、使用ViewStub可以动态加载布局,在布局需要显示的时候再进行显示;
绘制优化
1、在onDraw方法中避免新建临时对象,一是因为onDraw方法可能会被多次调用,这样产生大量对象以后容易导致内存紧张导致卡顿、也会导致GC过程,浪费CPU时间,也会造成卡顿;
2、在onDraw中减少耗时操作,比如循环;
内存优化
主要是防止内存泄漏,比如静态引用所引用的对象,即使不需要了也不会被GC。
线程优化
线程优化是不要再每次需要线程的时候都去新建一个线程,因为线程的创建和销毁是由开销的,应该使用线程池,避免掉线程创建和销毁的开销,使用线程池也有利于对线程的管理。
响应优化
响应优化的核心思想是不要在主线程中执行耗时操作,在活动中如果5s内不响应,就会出现ANR,在广播中,如果10s没有响应也会出现ANR,定位ANR问题在应用的/data/anr/trace.txt中。
Bitmap优化
主要思想是使用BitmapFactory.option方法对图片进行采样,加载合适大小的图片;
ListView优化
1、不在getView中执行耗时操作;
2、根据滑动速度来控制异步任务执行频率,如果滑动速度太大,减少异步任务数量。