安卓开发中,基础的优化点,通常包括以下几个方面:
一、代码结构部分的优化
二、图片的优化
三、布局的优化
四、网络请求相关的优化
五、电量优化
一、代码部分的优化
首先,在我们编写的过程中,基本的代码规范,是要遵守的,这样做的目的,不仅仅是为了自己查阅代码时的方便,更重要的是可以规避一些莫名奇妙的错误。
从接口获取数据后,应该根据业务需求,选用最合理的存储方式,在满足业务需求的情况下,要使用最高性能的数据存储方式
应该避免反复创建新的对象,新的对象的创建,在空间和时间上都是不划算的,满足业务需求的情况下,能复用的尽量复用,当然,这是在一般情况下,特殊情况特殊处理
基本数据类型和 String类型的常量,建议使用static final修饰,final类型的常量会进入静态dex文件的域初始化部分,这时对基本和String类型的常量的调用不会涉及类的初始化,而是直接调用。
在类的内部使用自身的属性时,应避免使用get和set,直接调用即可,可以 提高访问速度
另外,要注意handler和context引起的内从泄漏问题
二、图片优化
在既保证图片质量又要限制图片大小的情况下,WebP格式的图片是首选,具体WebP的优点,可以自行查阅资料
对图片进行压缩,也是图片优化的手段之一,压缩可以是在代码级别的压缩,也可以是图片先用第三方工具压缩后再放入项目中使用
图片的优化重点是使用合理的使用缓存,这个是需要根据业务需求量身定制
三、布局优化
合理使用include来进行 布局的复用
使用ViewStub来实现布局的条件显示,如果不使用viewstub,视图即使被隐藏,依然还是会占用系统资源,使用后,布局可以在需要时才进行填充
充分利用Lint工具进行代码检查,lint的一些规则是用来优化布局的
四、网络请求的优化
合理使用预先下载数据,比如,我们做一个闪屏广告页,可以利用wifi网络时,预先下载好广告视频,下次进入闪屏页时播放该视频
一个页面避免请求多个接口,尽量合并为一次请求
合理利用缓存,合理的利用缓存是网络请求优化最重要的方面,包括内存和外存的缓存
根据不同的网络环境,设置不同的超时请求策略
五、电量优化
不必要的广播接收者,在用户退到后台后,应取消接收广播
定位方面,合理制定位置更新频率,当应用退到后台后,根据业务需求,尽量及时注销位置监听