性能优化

一、网络优化

1.避免DNS解析

2.合并网络请求

3.预先获取数据

4.避免轮询

5.优化重连机制

6.离线缓存

7.压缩数据大小

8.不同的网络环境使用不同的超时策略

9.CDN的使用

二、布局优化

1.include标签共享布局

2.ViewStub标签实现延迟加载

3.merge标签减少布局层次

4.尽量使用CompoundDrawable

5.使用Lint

三、内存优化

①使用更加轻量的数据结构

②避免在Android里面使用Enum

③减小Bitmap对象的内存占用

④Bitmap对象的复用

⑤使用更小的图片

⑥使用StringBuilder来代替频繁的字符串拼接

⑦避免在onDraw方法里面执行对象的创建

⑧避免对象的内存泄露

四、电量优化

1.BroadcastReceiver

对于BroadcastReceiver,通常的做法是在界面onPasuse之后取消广播监听器的监听操作,同时根据具体业务需求选择当应用位于后台时是否禁用广播接收器。

2.数据传输

数据传输方式:蓝牙传输,Wi-Fi传输,移动网络传输等。

后台数据传输的管理:根据具体业务需求,严格限制应用位于后台时是否禁用某些数据传输,尽量能够避免无效的数据传输。

数据传输的频度问题:通过经验值或者数据统计的方法确定好数据传输的频度,避免冗余重复的数据传输,数据传输过程中要压缩数据大小,合并网络请求,避免轮询等。

3.WakeLock

使用WakeLock时,需要切记及时释放锁,而且通常情况下,要尽早地释放WakeLock

五、Apk体积优化

1.SVG 可缩放矢量图

2、Tint着色器

3、资源配置

4、动态打包配置

5、移除无用资源(物理删除)

6、代码混淆、压缩

7、启用资源缩减

8、启用webp转换插件

9、压缩对齐,res资源混淆(apk包)

原文APK

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