首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
南北是北北
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
3
文章 3
沸点 0
赞
3
返回
|
搜索文章
南北是北北
15天前
关注
Nested Scrolling child/parent 1,2,3父子方法都是对应的,为何这么设计
为何成对 & 对应(协议化的原因) 握手模型清晰(谁发起、谁响应) 手势的“主导者”是子视图(Child)。它用 dispatchNestedPreScroll/Scrol...
0
评论
分享
南北是北北
15天前
关注
嵌套滚动(Nested Scrolling 1/2/3)
一、思维模型(先有脑图) 一句话:先问父能不能抢(preXxx)→ 自己处理剩余 → 事后告诉父我消费了多少 & 还剩多少(dispatchNestedScroll)→ 父...
2
评论
分享
南北是北北
15天前
关注
手势识别与动画
一、触摸/动画总流程 事件进入 View:onTouchEvent(ev) 手势识别:把 ev 同时喂给 gestureDetector.onTouchEvent(ev)(...
0
评论
分享
南北是北北
15天前
关注
Android事件分发链路、关键返回值、常见冲突解法
三大法则(牢记) 谁消费了 DOWN,后续 MOVE/UP 就归谁 首个 ACTION_DOWN 决定“触摸目标”(TouchTarget)。 期间若父容器后来拦截,原目标...
0
评论
分享
南北是北北
15天前
关注
JetPack WorkManager
1. WorkManager 为什么存在(设计目标) 可靠执行:在 App 退出、进程被杀、电量/网络受限后,在满足条件时仍会被系统调度(后台稳态由系统保障)。 约束感知:...
0
评论
分享
南北是北北
15天前
关注
DataStore
1. DataStore 的设计初衷与核心特点 为什么从 SharedPreferences(SP)升级到 DataStore? 异步 + Flow:基于协程与 Flow,...
0
评论
分享
南北是北北
15天前
关注
ConstraintLayout(约束布局)
1) 设计思路 & 工作原理(它是怎么“算”出来的) 目标:用一层容器表达复杂相对关系,减少嵌套,提高测量/布局效率,并能优雅地做动画。 核心机制(高层抽象) 约束图(Co...
0
评论
分享
南北是北北
15天前
关注
JetPack ViewBinding
1. 它是什么 & 有啥用 编译期生成与每个布局一一对应的 XXXBinding 类,帮你类型安全地拿到 View 引用;没有反射、没有运行时开销。 仅做“找 View”,...
1
评论
分享
南北是北北
15天前
关注
jetpack ViewModel
ViewModel 的定位 职责:承载并管理 UI 所需的业务状态与逻辑,让状态跨配置变更(旋转、深浅色、语言切换)不丢失。 不该做:不持有 View/Fragment/A...
0
评论
分享
南北是北北
15天前
关注
Lifecycle / LifecycleOwner / LifecycleRegistry
1)LifecycleOwner 是什么 接口:只有一个方法 getLifecycle(),暴露一个 Lifecycle 对象,便于外界“订阅”它的生命周期。 常见实现者:...
0
评论
分享
南北是北北
15天前
关注
RecyclerView 性能优化「系统化排查+落地清单」
0) 先用这一套排查流程(10 分钟复现→定位瓶颈) 关动画做“基线” recyclerView.itemAnimator = null → 先看纯滚动是否顺滑。 固定尺寸...
0
评论
分享
南北是北北
15天前
关注
RecyclerView 的布局能力
1) GridLayoutManager:跨列(SpanSizeLookup) 场景:普通卡片占 1 列,Header/广告/底部加载占整行。 要点 getItemView...
0
评论
分享
南北是北北
15天前
关注
RecyclerView 的数据驱动更新
为什么用差分(替代手工notify) 手工 notifyDataSetChanged(): 全量重绑 → 闪烁/掉帧; 动画信息丢失(新增/删除/移动/改变都看不见); 大...
1
评论
分享
南北是北北
15天前
关注
RecyclerView 进阶绑定:多类型 / 局部刷新(payload)/ 稳定 ID
一、总体目标与选型 多 ViewType:一个列表里混排 Banner、Card、Footer … 局部刷新:只改动变化字段(避免整行重绑/闪烁) 稳定 ID:同一个“业务...
0
评论
分享
南北是北北
15天前
关注
RecyclerView 的关键角色与各自职责/协同关系
总览:谁跟谁配合(数据 → 视图 → 交互) 1) RecyclerView(容器/调度中心) 职责 处理触摸与滚动(NestedScrolling、fling、OverS...
0
评论
分享
南北是北北
16天前
关注
StateFlow 与 SharedFlow
一句话 StateFlow=“可观察的单一状态”,始终有值、去重(==)+ 合并(conflate) ,新订阅者必定先拿到“最新值”。 SharedFlow=“可配置的事件...
0
评论
分享
南北是北北
16天前
关注
RecyclerView四级缓存
一、四级缓存是谁 Scrap(临时废料堆) 包含:mAttachedScrap、mChangedScrap,以及隐藏但未移出父容器的 child(hidden)。 特征:仍...
1
评论
分享
南北是北北
16天前
关注
Coil图片缓存机制
一、硬盘缓存 硬盘缓存为文件缓存,具体实现在coil的base中 1.1 DiskCache接口 首先来看DiskCache接口: Builder(下面会用到): 1.2 ...
0
评论
分享
南北是北北
18天前
关注
锁概念:互斥锁、可重入锁、可重入读写锁、悲观锁、乐观锁
1) 互斥锁的基本语义(锁=临界区的序列化器) 目的:在多线程下一次只允许一个线程进入临界区,避免竞态条件。 典型实现: JVM 级:synchronized(对象监视器)...
0
评论
分享
南北是北北
18天前
关注
tablayout列表,左右滑动,有很多页面,怎么优化性能
0) 先选路线(很关键) 页数 ≤ 10:直接 ViewPager2 + FragmentStateAdapter,常规优化即可。 页数 10 ~ 50:仍可 ViewPa...
0
评论
分享
下一页
个人成就
文章被点赞
55
文章被阅读
16,420
掘力值
1,600
关注了
4
关注者
25
收藏集
9
关注标签
0
加入于
2020-09-23