最近优化项目内存的时候了解到ViewStub,include和ViewStub都是引用布局的标签,但是它们是有区别的;

include和ViewStub的区别

1.include是可以在布局中引入另一个布局,但是它是固定加载的,使用起来不方便;ViewStub和include的功能类似,也是引用另一个布局,但是它是动态加载布局,通俗的话来讲,include是在加载布局的时候就会加载引用布局,ViewStub加载布局的时候不会加载引用布局,只有在调用ViewStub.inflate或者ViewStub.setVisibility(View.VISIBLE)的时候才会加载引用的布局。

2.ViewStub只会被inflate一次,之后ViewStub的对象会被置空,换句话说,就是引用布局被置空,即某个布局被ViewStub指定的布局被inflate之后,不能通过ViewStub去控制它了;

3.使用ViewStub的时候,某些布局属性要加在ViewStub上而不是实际布局才会起作用,比如margin,width,height等属性要加在ViewStub上才能起作用,ViewStub属性会在inflate之后传递到引用布局

include和ViewStub的区别相关推荐

  1. include和require的区别

    细节决定成败! 1.引用文件方式 对include()来说,在include()执行时文件每次都要进行读取和评估:而对于require()来说,文件只处理一次(实际上,文件内容替换了require() ...

  2. include、ViewStub、merge优化布局标签

    前言 在写Android的xml布局时,用好 include.ViewStub.merge这三个标签,可以是我们的xml更加简洁.高效. include 按照官方的意思,include就是为了解决重复 ...

  3. iOS之路9-#import 与#include和 @class的区别

    2019独角兽企业重金招聘Python工程师标准>>> #import 与#include和 @class 的区别? @class 一般用于头文件中需要声明该类的某个实例变量的时候用 ...

  4. php include 和require的区别与转码

    php include 和require的区别 相同点:include和require 都能把另外一个文件包含到当前文件中.  不同点:使用include时,当包含的文件不存在时,系统会报出警告级别的 ...

  5. 深入理解require与require_once与include以及include_once的区别

    http://www.jb51.net/article/37942.htm 本篇文章是对require与require_once与include以及include_once的区别进行了详细的分析介绍, ...

  6. PHP中include和require的区别详解

    PHP中include和require的区别详解 1.概要  require()语句的性能与include()相类似,都是包括并运行指定文件.不同之处在于:对include()语句来说,在执行文件时每 ...

  7. 关于require,require_once,include和include_once的区别

    一.定义 require,require_once,include,include_once都属于PHP的关键字,也就是说它们实际都是PHP的语句,而不是函数,类似于print,echo一样,也是PH ...

  8. PHP include 和 include_once 的区别

    include 和 include_once 的区别 include 会将指定的文件载入并执行里面的程序:重复引用加载多次. include_once 函数会将指定的文件载入并执行里面的程序:此行为和 ...

  9. uml里的extend和include_解析UML用例图中include与extend的区别

    本文和大家重点讨论一下UML用例图中include与extend的区别,include是指用例中的包含关系,通常发生在多个用例中,有可以提取出来的公共部分,而extend则恰好相反.下面请看本文详细介 ...

最新文章

  1. 八 web爬虫讲解2—urllib库爬虫—ip代理—用户代理和ip代理结合应用
  2. 计算机在学前教育和美术绘画中的应用,幼儿园美术教学活动中信息技术的应用...
  3. golang 大数据平台_大数据平台是什么?有哪些功能?如何搭建大数据平台?
  4. 罗切斯特大学排名计算机排名,罗切斯特大学排名
  5. string input must not be null解决办法
  6. linux改键盘映射
  7. 问题六十八:着色模型(shading model)(1)——反射模型(reflection model)(2.1)——漫反射(diffuse reflection)
  8. RunAs 增强性扩展命令(支持自动提交密码,安全授权)
  9. 神经网络绘图软件推荐合集
  10. 阿里云OSS对象存储服务
  11. 《游戏系统设计三》游戏服务器线上出bug,怎么办?急,在线等!热更新
  12. 计算机excel奖学金公式,如何用Excel评定奖学金
  13. Pr:子剪辑子序列嵌套编组
  14. python基础爬虫篇
  15. 移植tslib,测试电容屏
  16. macM1芯片安装nacos2.0X
  17. 物联网之散射通信应用
  18. Edge浏览器Alt+Tab快捷键切换其他应用窗口
  19. 基于QT的人脸识别考勤管理系统【一】
  20. Windows 11 下 Virtualbox 6.1.34 出现 End kernel panic - not syncing: attempted to kill the idle task

热门文章

  1. 如何推进项目实施的进度?
  2. 第十三章 鲁智深为什么是天孤星
  3. AI 教父离职谷歌 ,只为畅谈 AI 之危
  4. influxdb+grafana监控网络情况
  5. 中学家长会主题班会PPT模板
  6. html盒子的相对位置,CSS盒子的相对定位于绝对定位 ·
  7. nikto 进行web安全扫描
  8. 2012-07-08-1
  9. onresize()调整浏览器窗口时,使图片等控件自适应地变化大小
  10. 北邮通信原理知识点笔记小结-上半部分