当前位置:网站首页>Android 面试知识点
Android 面试知识点
2022-07-07 09:10:00 【InfoQ】
Requestlayout,OnLayout,OnDraw,DrawChild区别与联系
- requestLayout()方法 :会导致调用measure()过程 和 layout()过程 。说明:只是对View树重新布局layout过程包括measure()和layout()过程,不会调用draw()过程,但不会重新绘制任何视图包括该调用者本身。
- onLayout()方法(如果该View是ViewGroup对象,需要实现该方法,对每个子视图进行布局)
- onDraw()方法绘制视图本身 (每个View都需要重载该方法,ViewGroup不需要实现该方法)
- drawChild()去重新回调每个子视图的draw()方法。
Android为每个应用程序分配的内存大小是多少?
Android View刷新机制
- mView.draw()开始绘制,draw()方法实现的功能如下:绘制该View的背景为显示渐变框做一些准备操作。
- 调用onDraw()方法绘制视图本身 (每个View都需要重载该方法,ViewGroup不需要实现该方法)
- 调用dispatchDraw ()方法绘制子视图(如果该View类型不为ViewGroup,即不包含子视图,不需要重载该方法)值得说明的是,ViewGroup类已经为我们重写了dispatchDraw ()的功能实现,应用程序一般不需要重写该方法,但可以重载父类函数实现具体的功能。
LinearLayout对比RelativeLayout
- RelativeLayout会让子View调用2次onMeasure,LinearLayout 在有weight时,也会调用子View2次onMeasure
- RelativeLayout的子View如果高度和RelativeLayout不同,则会引发效率问题,当子View很复杂时,这个问题会更加严重。如果可以,尽量使用padding代替margin。在不影响层级深度的情况下,使用LinearLayout和FrameLayout而不是RelativeLayout。
边栏推荐
- Transaction rolled back because it has been marked as rollback-only解决
- Unity downloads files through the server address
- Interprocess communication (IPC)
- Ping tool ICMP message learning
- 普通测试年薪15w,测试开发年薪30w+,二者差距在哪?
- Galaxy Kirin desktop operating system installation postgresql13 (source code installation)
- 从色情直播到直播电商
- Qtcreator sets multiple qmake
- Wallhaven wallpaper desktop version
- 2021-05-21
猜你喜欢
学习笔记|数据小白使用DataEase制作数据大屏
[STM32] actual combat 3.1 - drive 42 stepper motors with STM32 and tb6600 drivers (I)
Avoid mutating a prop directly since the value will be overwritten whenever the parent component
How to remove addition and subtraction from inputnumber input box
测试开发基础,教你做一个完整功能的Web平台之环境准备
2021-04-08
Deep understanding of Apache Hudi asynchronous indexing mechanism
关于测试人生的一站式发展建议
Ping tool ICMP message learning
uniCloud
随机推荐
Unity determines whether the mouse clicks on the UI
[pyqt] the cellwidget in tablewidget uses signal and slot mechanism
POJ1821 Fence 题解报告
Long list performance optimization scheme memo
Go slice comparison
RationalDMIS2022阵列工件测量
[machine learning 03] Lagrange multiplier method
变量的解构赋值
对比学习之 Unsupervised Learning of Visual Features by Contrasting Cluster Assignments
面试被问到了解哪些开发模型?看这一篇就够了
Shardingsphere sub database and table examples (logical table, real table, binding table, broadcast table, single table)
Mpx 插件
Typescript interface inheritance
[untitled]
Mysql的json格式查询
uniCloud
基于DE2 115开发板驱动HC_SR04超声波测距模块【附源码】
Idea shortcut keys
2022.7.4DAY596
Go-Redis 中间件