万字长文总结Android多进程,面试心得体会

万字长文总结Android多进程,面试心得体会,第1张

概述前言跳槽容易,但想拿大厂的offer可不那么容易。很多小伙伴一直叨叨要跳槽,大大小小的公司面试了很多,但却很难拿到一个满意的offer,要么package太低,要么就是面试被虐。经过多次面试失利之后,方能明白什么叫基础不牢,地动山摇。面试官随便针对一个知识点深入考察一下,就回答不出来,这 前言

跳槽容易,但想拿大厂的offer可不那么容易。很多小伙伴一直叨叨要跳槽,大大小小的公司面试了很多,但却很难拿到一个满意的offer,要么package太低,要么就是面试被虐。经过多次面试失利之后,方能明白什么叫基础不牢,地动山摇。面试官随便针对一个知识点深入考察一下,就回答不出来,这样还怎么能通过面试?

那么大厂到底面试到底需要哪些技术功底呢?这个就多了,不同公司的技术要求也不一样,但是相同的点在于,大公司对于技术的要求都不会很表面,必然会在一定广度的基础上要求有一定的深度。

一.vIEw渲染机制分为:@H_419_18@onLaout与onMeasure@H_419_18@onDraw映射机制二.常用vIEw有:

1.RecycleVIEw

@H_419_18@解读源码@H_419_18@布局管理器LayoutManager@H_419_18@条目装饰Itemdecoration@H_419_18@VIEwHolder与回收复用机制

2.CardVIEw

@H_419_18@源码的解答@H_419_18@圆角阴影实现原理@H_419_18@5.0以下阴影与边距的适配3.vIEwpager@H_419_18@加载机制和如何优化@H_419_18@如何与Fragment结合4.WebvIEw@H_419_18@原理分析@H_419_18@Js与java交互@H_419_18@多线程WebVIEw使用@H_419_18@WebVIEw和native的通信框架三.布局VIEwGroup@H_419_18@ConstaintLayout@H_419_18@linearLayout@H_419_18@relativeLayout@H_419_18@FrameLayout@H_419_18@GrIDLayout四.VIEw的绘制流程4.1自定义控件:

1、组合控件。这种自定义控件不需要我们自己绘制,而是使用原生控件组合成的新控件。如标题栏。
2、继承原有的控件。这种自定义控件在原生控件提供的方法外,可以自己添加一些方法。如制作圆角,圆形图片。
3、完全自定义控件:这个VIEw上所展现的内容全部都是我们自己绘制出来的。比如说制作水波纹进度条。

VIEw的绘制流程:OnMeasure()——>OnLayout()——>OnDraw()

@H_419_18@第一步:OnMeasure():测量视图大小。从顶层父VIEw到子VIEw递归调用measure方法,measure方法又回调OnMeasure。@H_419_18@第二步:OnLayout():确定VIEw位置,进行页面布局。从顶层父VIEw向子VIEw的递归调用vIEw.layout方法的过程,即父VIEw根据上一步measure子VIEw所得到的布局大小和布局参数,将子VIEw放在合适的位置上。@H_419_18@第三步:OnDraw():绘制视图。
VIEwRoot创建一个Canvas对象,然后调用OnDraw()。

六个步骤:

@H_419_18@绘制视图的背景;@H_419_18@保存画布的图层(Layer);@H_419_18@绘制VIEw的内容;@H_419_18@绘制VIEw子视图,如果没有就不用;@H_419_18@还原图层(Layer);@H_419_18@绘制滚动条。4.2VIEw,VIEwGroup事件分发

1.touch事件分发中只有两个主角:VIEwGroup和VIEw。

VIEwGroup
包含onIntercepttouchEventdispatchtouchEventontouchEvent三个相关事件。

VIEw
包含dispatchtouchEventontouchEvent两个相关事件。
其中VIEwGroup又继承于VIEw。

2.VIEwGroup和VIEw组成了一个树状结构,根节点为Activity内部包含的一个VIEwGroup。

3.触摸事件由Action_Down、Action_Move、Aciton_UP组成,其中一次完整的触摸事件中,Down和Up都只有一个,Move有若干个,可以为0个。

4.当Acitivty接收到touch事件时,将遍历子VIEw进行Down事件的分发。VIEwGroup的遍历可以看成是递归的。分发的目的是为了找到真正要处理本次完整触摸事件的VIEw,这个VIEw会在ontouchuEvent结果返回true。

5.当某个子VIEw返回true时,会中止Down事件的分发,同时在VIEwGroup中记录该子VIEw。接下去的Move和Up事件将由该子VIEw直接进行处理。由于子VIEw是保存在VIEwGroup中的,多层VIEwGroup的节点结构时,上级VIEwGroup保存的会是真实处理事件的VIEw所在的VIEwGroup对象:如VIEwGroup0-VIEwGroup1-TextVIEw的结构中,TextVIEw返回了true,它将被保存在VIEwGroup1中,而VIEwGroup1也会返回true,被保存在VIEwGroup0中。当Move和UP事件来时,会先从VIEwGroup0传递至VIEwGroup1,再由VIEwGroup1传递至TextVIEw

6.当VIEwGroup中所有子VIEw都不捕获Down事件时,将触发VIEwGroup自身的ontouch事件。触发的方式是调用super.dispatchtouchEvent函数,即父类VIEw的dispatchtouchEvent方法。在所有子VIEw都不处理的情况下,触发Acitivity的ontouchEvent方法。

7.onIntercepttouchEvent有两个作用:

@H_419_18@拦截Down事件的分发。@H_419_18@中止Up和Move事件向目标VIEw传递,使得目标VIEw所在的VIEwGroup捕获Up和Move事件。最后

针对AndroID程序员,我这边给大家整理了一些资料,包括不限于高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的AndroID进阶实践技术;希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!

@H_419_18@

AndroID前沿技术大纲

@H_419_18@

全套体系化高级架构视频

资料领取:点赞+点击腾讯文档免费获取

往期AndroID高级架构资料、源码、笔记、视频。高级UI、性能优化、架构师课程、混合式开发(ReactNative+Weex)全方面的AndroID进阶实践技术,群内还有技术大牛一起讨论交流解决问题。

ZF)**

往期AndroID高级架构资料、源码、笔记、视频。高级UI、性能优化、架构师课程、混合式开发(ReactNative+Weex)全方面的AndroID进阶实践技术,群内还有技术大牛一起讨论交流解决问题。

总结

以上是内存溢出为你收集整理的万字长文总结Android多进程,面试心得体会全部内容,希望文章能够帮你解决万字长文总结Android多进程,面试心得体会所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1007031.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-22
下一篇2022-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存