android布局优化方案,Android启动优化-布局优化

Android启动优化-布局优化

安卓应用开发发展到今天,已经成为一个非常成熟的技术方向,从目前的情况看,安卓开发还是一个热火朝天的发展,但高级人才却相对较少,如今移动互联网的开发者也逐渐开始注重插入技术、性能优化、行业新技术、系统架构等方面的进步。

安卓系统自诞生至今,经历了几次重要更新,最后选择了折中方案,使系统在安装和运行时各项指标都得到了优化,至此,安卓虚拟机的开发过程告终。

Android的启动优化就是性能优化中的一大内容。

说到Android启动优化,你一般会想到什么呢?

今天我们就来了解一下启动优化中的布局优化。

布局优化的现状和发展趋势

时间消耗原因

大家都知道布局装载是一个耗时的重灾区。尤其是启动阶段,作为第一个View的装载,非常耗时。

版面装入的时间很长,原因有二。

l读XML文件,这是一种IO操作。

l分析XML对象,反射创建视图。

普遍的做法是。

l减小布局嵌套层的数量,减少过度绘制。

l无负荷界面、错误界面等不需要加载。

那么,在这些实践之外,我们有什么方法可以优化呢?

解答。

l异步加载

l用编码方式来写布局。

异步加载

很久以前,google就提供了AsyncLayoutInflater,一个异步加载的方案,虽然这个方法有一些缺陷,在下文中讨论。

用编码方式来写布局。

以写布局的方式来编写代码,我们可能会想到使用java声明布局,对于稍复杂一些的布局,这种方式并不可取,有一些问题,比如难以维护,难以修改等等。在github上面,为了解决这个问题,产生了一系列优秀的开源库。

litho: https://github.com/facebook/litho

X2C: https://github.com/iReaderAndroid/X2C

为保留xml的优点,同时解决xml所带来的性能问题,我们开发了X2C方案。也就是说,在编译生成APK的过程中,需要翻译的layout翻译就会生成相应的java文件,这样开发者就可以写出布局或者原始的xml了,但是对于程序来说,运行时装载的是相应的java文件。

在编译过程中,我们使用APT(AnnotationProcessorTool)+JavaPoet技术来完成“注释”->“解注”->“翻译xml”->“生成java”整个过程的操作。

在大型项目中,这两个开源库基本上不会被使用,但它们的价值是可以肯定的,而且它们的核心思想非常重要。

xml布局加载耗时的问题,google也希望改善这一现状,最近Composebeta发布了Composebeta,他使用声明式UI编写布局,避免了xml带来的耗时。此外,还支持实时预览布局。这应是今后的趋势。

总结

以上介绍了布局优化的现状和发展趋势,下面我们一起来看看,有哪些布局优化的方法,可以在项目中应用。

l渐进加载。

l异步加载

l命令声明性UI。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值