首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
android gradle-组件-插件
订阅
novit
更多收藏集
微信扫码分享
微信
新浪微博
QQ
33篇文章 · 0订阅
RecyclerView 的滚动是怎么实现的?(一)| 解锁阅读源码新姿势
RecyclerView 是一个展示列表的控件,其中的子控件可以被滚动。这是怎么实现的?以走查源码的方式一探究竟。 切入点:触摸事件 阅读源码时,如何在浩瀚的源码中选择合适的切入点很重要,选好了能少走
Android invalidate/postInvalidate/requestLayout 彻底厘清
前言 前几篇分析了Measure、Layout、Draw 过程,这三个过程在第一次展示View的时候都会调用。那之后更改了View的属性呢?比如更改颜色、更换文字内容、更换图片等,还会走这三个过程吗?
又来一个库,WebView,RecyclerView 多布局连贯滑动
不知道大家看源码了没有,其主要是利用嵌套滚动,而且代码相对难理解一些。 最近看到作者的这篇文章,作者抛弃了嵌套滚动,通过自定义 ViewGroup 的方式实现,相对来说,代码好理解太多了,我也实际体验了一下,体验效果还可以。 仔细看了下源码,作者的思路还是很值得学习的,一开始我…
Android View 滑动冲突解决方式以及原理
上一篇文章讲了View分发机制的源码,这次来讲讲解决View滑动冲突的方式和原理。 一. 滑动冲突场景以及产生原因 那为什么会产生滑动冲突呢,例如在父ViewGroup和子View的滑动方向一致的情况,我需要让两者都可以滑动。在上篇博客中我们分析了事件分发机制,其中提到View…
Android可持续滑动布局:ConsecutiveScrollerLayout
ConsecutiveScrollerLayout是我在GitHub开源的一个Android自定义滑动布局,它可以让多个滑动布局和普通控件在界面上像一个整体一样连续顺畅地滑动。 试想我们有这样一个需求,在一个界面上有轮播图、像九宫格一样的分类布局、几个样式不一样的列表,中间还夹…
反思|Android 事件拦截机制的设计与实现
完整的掌握 Android 事件分发体系并非易事,其整个流程涉及到了 系统启动流程(SystemServer)、输入管理(InputManager)、系统服务和UI的通信(ViewRootImpl + Window + WindowManagerService)、View层级的…
Android Binder 原理换个姿势就顿悟了(图文版)
前言 Binder机制可谓是Android 知识体系里的重中之重,作为偏底层的基础组件,平时我们很少关注它,而它却是无处不在,也是Android 面试易考察的点之一。网上很多文章,要么知识点比较陈旧,
Android 进阶解密笔记:系统启动流程(一)解析init进程启动过程
init 进程是 Android 系统中用户进程的第一个进程,进程号为 1,被赋予很多极其重要的职责,如创建 Zygote 进程和属性服务等。init 进程由多个源文件组成,文件位于 system/core/init 目录。 按下电源时,引导芯片代码从预定义的地方(固化在 RO…
Synchronized原理
synchronized是java中加锁的关键字,可以用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程可以执行这段代码。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。然而,当一个线程访问object的一个加锁代码块…
彻底理解synchronized
通过字节码分析以及源码解析深入理解synchronized的使用场景以及背后的实现原理,避免在生产环境出现并发问题,