android布局的优化方案merge、ViewStub的用法

序:由于在android开发工程中需要开发很多界面,每个界面又是以xml布局的形式进行加载。所以在加载这些布局文件的时候是一个开销很大的过程。因此我们在写布局文件的时候需要考虑一些优化来加快程序的性能。


一、性能优化。


        1.尽量避免多层次的嵌套,因为布局可以无限制的进行嵌套。所以写起来难免有些肆无忌惮,但是布局结构尽量要避免多层次的嵌套来减少开销。数量应最多不要超过10层。


        2.使用merge标签。
         
         如图,使用merge标签可以减少多余的层次结构,多用于一个布局需要包含另一个布局的时候,或者这一个布局用到的重复样式比较多。在加载merge标签的时候,不会加载父控件,只会加载merge标签中的子view。merge标签结合include一起使用可以灵活的、可复用性强的创建布局。
     

       3. 避免过多的view,填充每个view都要花费一些资源和时间,为了更快速加载,应尽量减少view的加载。如果布局包含的view个数超过80,填充布局花费的时间将成为一个显著的问题。
     

       4.使用ViewStub
          
    
            ViewStub有一个比较大的优点就是当你用到这个布局的时候才会去加载,例如我们在布局里写了ViewStub并引用一个我们写好的布局。这时候我们可以在我们的activity中使用的时候,必须先设置visible。 这样这个布局才会被加载显示。否则是不会显示的。为了防止都findViewById 方法,我们可以调用inflate()方法,这个方法会返回一个view,我们可以直接对这个view进行操作。


二、代码可视性的优化。

       1、写布局的时候,可以尽量在父控件中做操作,这样会影响到每个子view。例如,我们经常写距离左边距,这个时候一个在父母局中写一次,而不是在每个子控件中都写一遍。


       2、写线性布局的时候可以使用权重,这样也会对屏幕适配起作用。


       3、android studio中可以直接对多次重用的空间进行属性抽取。
            
           如图,抽取的属性将会在style中,我们在布局文件中就可以直接引用。多次需要用到这个属性的时候我们可以直接用一行代码引用即可。
      4、使用include标签,来引用比较复杂,或者抽象的布局文件。


     目前就这么多吧,后期想到会继续完善,补充笔记。
 
          

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值