首页 文章详情

面试大厂被问到事件分发,这几个点一定要说清楚!

Android群英传 | 235 2021-05-25 19:04 0 0 0
UniSMS (合一短信)
事件分发是一个老生常谈的东西了,不管是面试亦或者开发中都可以用到,像滑动冲突几乎是每个开发者都遇到过。
滑动是Android中不可缺少的一部分,但多个滑动必然会产生冲突,面对滑动冲突,很多开发人员不知道从哪里入手,那么我们如何找到解决问题的切入点呢?
在平时的开发中,大家可能会经常遇到这样的场景:
  • 滑动列表部分时,整个页面一起滑动,而不是只滑动列表内容

  • 一会儿是列表滑动,一会儿是整个页面滑动,而不是按照预期的要求来滑动

这就是我们常说的滑动冲突问题。

滑动冲突的问题,经常让开发者们头痛不已。因为经常很多滑动相关的控件,如ScrollView、ListView等,在单独使用的时候酷炫不已,但将他们组合在一起使用,就失灵了。比如手指在屏幕上上下滑动,列表和整个页面都有滑动功能,此时如果处理不当,就会导致系统也不知道要让谁来消费这个滑动事件,这就是滑动冲突产生的原因。

目前常见的滑动冲突主要可以分为以下三种来概括:

  1. 外部滑动方向和内部View的滑动方向不一致,内部的View和外部的View的滑动方向是互相垂直的,比如Scroll View嵌套View Pager(图1-1)
  2. 外部滑动方向和内部View的滑动方向是一致的,内部的View和外部的View的滑动方向互相平行,比如Scroll View嵌套RecyclerView (图1-2)
  3. 外部滑动方向与内部滑动方向即有相同的又有垂直的,也就是以上两种情况的综合出现,这种情况是算比较复杂的一种情况(图1-3)
很多开发者一旦遇到这种事件冲突问题,第一反应就是百度搜博客,但如果通过博客文章学习,看完后也只能解决和文中一模一样的问题,更别说别人的博客中代码可能有毒了……
后续一旦项目中再出现事件冲突问题,很难将文章中的知识点运用到实际问题当中,归根结底,就是没有掌握到其中的原理
没有掌握原理就更别说在大厂面试中的回答获得面试官的青睐了,升职加薪梦只会原来越遥远……

不信来看看这些大厂面试真题,你能答上来几个?

  1. 说说你对事件分发机制的理解。(阿里面试真题)

  2. down事件和move事件对应的流程机制是什么?腾讯面试真题

  3. 事件冲突中如何快速找到解决方案,请举例。字节面试真题

  4. ScrollView 和RecyclerView 冲突时,如何解决?百度面试真题


大多开发者在解决事件冲突中遇到的最大问题,就是很难找到解决问题的切入点!


为了帮助大家更快更好的学习怎么样解决事件冲突问题,我特别邀请到了前华为、OPPO 、阿里资深架构师 David为大家带来《事件冲突面试技巧与解决办法实战系列直播分享,在这里给大家准备了一场干货十足的技术盛宴,将带大家从面试中常见的疑难问题入手,一步步带着大家还原最真实的事件冲突问题,并实战解决,相信大家可以从中学到很多。

原价298元事件冲突面试技巧与解决办法实战训练营,现在限时优惠只需要0.1元即可加入学习限量100个名额


大家手速要快,赶紧识别下方图中二维码加入学习!

报名学习后还将附赠一套系统的开发进阶资料,帮助大家在技术的道路上更进一步。

赶紧扫码报名获取资料,开启你的学习之旅
扫码添加时记得备注:"群英传"可以快速通过)
【如遇扫码频繁+VX:sjsgyb6】



good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter