首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
南北是北北
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
3
文章 3
沸点 0
赞
3
返回
|
搜索文章
南北是北北
6月前
关注
锁概念:互斥锁、可重入锁、可重入读写锁、悲观锁、乐观锁
1) 互斥锁的基本语义(锁=临界区的序列化器) 目的:在多线程下一次只允许一个线程进入临界区,避免竞态条件。 典型实现: JVM 级:synchronized(对象监视器)...
0
评论
分享
南北是北北
6月前
关注
tablayout列表,左右滑动,有很多页面,怎么优化性能
0) 先选路线(很关键) 页数 ≤ 10:直接 ViewPager2 + FragmentStateAdapter,常规优化即可。 页数 10 ~ 50:仍可 ViewPa...
0
评论
分享
南北是北北
6月前
关注
android从点击图标icon到进入首页的系统调用过程
一、总览(参与者) Launcher(三方/系统桌面) → ActivityTaskManagerService(ATMS in system_server) →(无进程则...
2
评论
分享
南北是北北
6月前
关注
单例双check两个非空判断的作用以及时机
两个 null 判断各做什么、发生在什么时候、去掉其中一个会怎样。 ① 外层 null 检查(第一次) 作用:在已完成初始化后,绝大多数调用可以直接返回,避免进入同步块,降...
0
评论
分享
南北是北北
6月前
关注
fragment为什么不建议有参数的构造方法
Fragment 不建议写有参构造方法,因为 系统会在重建 Fragment 时(旋转、进程被杀后恢复、返回栈还原、Nav 回退)用反射调用 无参构造 来实例化。构造函数里...
1
评论
分享
南北是北北
6月前
关注
直播间的IM消息是如何区分礼物消息和正常消息的
1) 一条“房间时间线(Room-Timeline)” 所有进入直播间的事件(聊天、进场、点赞、礼物、系统公告……)都写入同一条按房间有序的时间线,每条事件都有: room...
0
评论
分享
南北是北北
6月前
关注
在直播场景中,用户退出了直播间,再次进入,如何保证离线消息和礼物消息
1) 目标与问题分解 离线消息(IM/弹幕/系统) :用户退出 → 再进来,能补齐缺的消息、按房间顺序展示。 礼物消息(强一致/交易相关) :既要不重扣/不重计,又要离线可...
0
评论
分享
南北是北北
6月前
关注
Nestedscroll和传统的手势有什么区别
1) 它们各自是什么 传统手势机制 指 dispatchTouchEvent → onInterceptTouchEvent → onTouchEvent 这一套 Moti...
0
评论
分享
南北是北北
6月前
关注
NestedScrolling Parent1,2,3 Child1,2,3之间的关系以及是如何完成嵌套滑动的
1) 一句话大图 目标:让“内层可滚动的 Child”和“外层可滚动的 Parent”协同消费同一手势/滚动(谁该先吃、吃多少、吃不完谁接着吃)。 核心机制:Child 在...
0
评论
分享
南北是北北
6月前
关注
Handler与协程/Executor 的对比与互操作
一、定位与区别(一句话印象) Handler/Looper:单线程串行队列;确定执行线程(哪个 Looper 就在哪个线程跑)。适合UI 主线程或专用串行后台。 Execu...
0
评论
分享
南北是北北
6月前
关注
Handler线程模型与内存
1) 线程模型:Handler 绑定 Looper,跨线程=投递到对方队列 一个线程最多一个 Looper,里面有一个 MessageQueue;Looper.loop()...
0
评论
分享
南北是北北
6月前
关注
详解Handler的 时序与调度:投递方式、优先级与顺序、同步屏障/异步消息
1) 投递方式:时间如何决定“何时执行” 时间基准:SystemClock.uptimeMillis()(设备睡眠停走)。 一个 Looper = 一个 MessageQu...
0
评论
分享
南北是北北
6月前
关注
Thread ↔ Looper ↔ MessageQueue ↔ Handler ↔ Message之间的关系
一、他们各自是谁?怎么“串”起来? Thread:线程本身。只有调用过 Looper.prepare() 的线程才“有 Looper/消息泵”。 Looper:每线程唯一(...
0
评论
分享
南北是北北
6月前
关注
泛型的三种型变类型:逆变,协变和不变
1. 一句话直观记忆 协变(out) :读出来安全(只读生产者)。如果 Cat <: Animal,那 Box <: Box 。 逆变(in) :写进去安全(只写消费者)。...
1
评论
分享
南北是北北
6月前
关注
list并发与共享
1) 并发 + 共享的本质风险 数据竞争:多个线程同时读写同一 List,没有happens-before 关系 → 读到旧值/中间态。 复合操作非原子:if (!list...
0
评论
分享
南北是北北
6月前
关注
List视图与不可变
1) 先分清三层概念 视图(view) :不拷贝数据、共享底层存储 的“窗口”。对视图或其“父集合”的结构性修改会彼此可见,并受 fail-fast 影响(易抛 Concu...
0
评论
分享
南北是北北
6月前
关注
List排序/查找最佳实践
一、核心结论(先记住这 10 条) 默认排序用稳定算法:List.sort / Collections.sort / Kotlin list.sortWith {} → 底...
0
评论
分享
南北是北北
6月前
关注
list的迭代安全与 fail-fast
1. 名词与本质 迭代安全(iteration safety) :在遍历期间,容器的结构是否允许被修改,以及在多线程读写时,遍历能否保持一致的语义(不崩不乱)。 fail-...
0
评论
分享
南北是北北
6月前
关注
几种list的复杂度 & 内存 & 扩容
一、复杂度 × 内存 × 扩容总表(n 为元素个数) 容器 get(i)/set(i) 末尾 add/remove 头部 add/remove 中间插入/删除(已知索引) ...
0
评论
分享
南北是北北
6月前
关注
Glide中GroupedLinkedMap数据结构
它要解决什么问题 普通 LinkedHashMap 的 access order 是针对单个元素;Glide 需要的是针对“同一规格的一组对象(一个桶)”做 LRU:例如同...
0
评论
分享
下一页
个人成就
文章被点赞
84
文章被阅读
35,772
掘力值
1,789
关注了
4
关注者
29
收藏集
9
关注标签
0
加入于
2020-09-23