Android性能优化

布局优化:
布局优化的思想就是减少布局文件的层级。

标签:将一个指定的布局文件加载到当前的布局文件。
标签只支持以 **android:layout_ **开头的属性,其他不支持,id 除外。

标签:一般与标签一起使用减少层级。由于当前布局是一个竖直方向的 LinearLayout,这时候如果被包含的布局文件也采用竖直方向的 LinearLayout,那么显然被包含的 LinearLayout 是多余的,这时候可以通过标签去掉多余的那一层 LinearLayout。

ViewStub:继承了 View,且宽高为 0,因此本身不参与任何的布局和绘制。意义是加载所需的布局文件。比如,网络异常时的界面,在正常情况下是不显示的,那么就可以通过 ViewStub 做到在使用的时候再加载。


在需要加载 ViewStub 中的布局时,可以这样:

((ViewStub)findViewById(R.id.stub_import)).setVisibility(View.VISIBLE);

或者

View importPanel = ((ViewStub)findViewById(R.id.stub_import)).inflate();

绘制优化:
绘制优化是指 View 的 onDraw 方法要避免执行大量的操作。

  1. onDraw 中不要创建新的局部对象,因为 onDraw 方法可能会被频繁调用。
  2. onDraw 中不要做耗时任务,也不能执行成千上万次的循环。

内存泄漏优化:
场景1:静态变量导致的内存泄漏。

场景2:单例模式导致的内存泄漏。
场景3:属性动画导致的内存泄漏。

你可能感兴趣的:(Android性能优化)