2024年最新Android 开发艺术探索笔记(10),2024年最新蚂蚁金服几面
总结:
各行各样都会淘汰一些能力差的,不仅仅是IT这个行业,所以,不要被程序猿是吃青春饭等等这类话题所吓倒,也不要觉得,找到一份工作,就享受安逸的生活,你在安逸的同时,别人正在奋力的向前跑,这样与别人的差距也就会越来越遥远,加油,希望,我们每一个人,成为更好的自己。
-
BAT大厂面试题、独家面试工具包,
-
资料包括 数据结构、Kotlin、计算机网络、Framework源码、数据结构与算法、小程序、NDK、Flutter,


网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
DecorView是顶级布局,最初始的布局,结构如下图:

我们所做的setContentView就是在这个R.id.content上设置布局,它是一个FrameLayout。
理解MeasureSpec
MeasureSpec参与了Measure测量View的尺寸。系统将View的LayoutParams根据一些规则转化为MeasureSpec。
MeasureSpec代表着以为32位的int值,高两位代表SpecMode,低三十位代表SpecSize,前者是测量模式,后者为这种测量模式下的规格大小。
MeasureSpec通过将SpecMode和SpceSize打包成一个int来避免过多的对象内存分配。
SpecMode有三类:
- UNSPECIFIED
父容器不对View有任何的限制,要多大给多大,这种一般属于系统内部,表示一种测量状态。
- EXACTLY
父容器已经检测除了View所需的精确大小,这个时候View的最终大小就是SpecSize所指定的值,它对应于LayoutParams中的match_parent和具体的数值这两种模式。
- AT_MOST
父容器指定了一个可用大小即SpecSize,View的大小不能大于这个值,具体是什么值要看不同View的具体实现,他对应于LayoutParams中的wrap_content。
MeasureSpec和LayoutParams对应关系
DecorView的MeasureSpec由窗口的尺寸和自身的LayoutParams决定;普通的View的MeasureSpec由父容器的MeasureSpec和自身的LayoutParams决定。
DecorViewd的MeasureSpec产生过程具体遵守如下规则,根据它的LayoutParams的宽高来进行参数划分。
- LayoutParams.MATCH_PARENT:精确模式,大小就是窗口的大小
- LayoutParams.WRAP_CONTENT:最大模式,大小不定,但是不能超过窗体大小。
- 固定大小:精确模式。
子View的MeasureSpec主要是靠父容器的MeasureSpec结合自身的LayoutParams来决定,参数中的padding指的是父容器中已经占用的空间大小,因此子元素可用的大小为父布局的尺寸减去padding。
最后
有任何问题,欢迎广大网友一起来交流,分享高阶Android学习视频资料和面试资料包~
偷偷说一句:群里高手如云,欢迎大家加群和大佬们一起交流讨论啊!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
更多推荐


所有评论(0)