首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
关注
综合
后端
前端
Android
iOS
人工智能
开发工具
代码人生
阅读
排行榜
综合
后端
排行榜
前端
Android
iOS
人工智能
开发工具
代码人生
阅读
全部
Android
前端
Kotlin
Android Jetpack
Flutter
面试
HarmonyOS
Java
逆向
展开
全部
Android
前端
Kotlin
Android Jetpack
Flutter
面试
HarmonyOS
Java
逆向
架构
Android Studio
性能优化
操作系统
开源
C++
暂无数据
推荐
最新
Binder机制
Binder机制是Android系统中的一种IPC机制(进程间通信)。 为什么会有IPC机制? 1:进程隔离: 因为Android系统中进程之间存在进程隔离。Android系统会为每个进程分配一定
Handler机制的深入解析
Handler机制的深入解析 在Android开发中,Handler机制是线程间通信的核心,其实现依赖于 Looper、MessageQueue 和 Message 的协同工作。下面我将从 Loope
ArrayMap、SparseArray和HashMap有什么区别?该如何选择?
`ArrayMap`、`SparseArray` 和 `HashMap` 是三兄弟,但它们各有绝活,用在不同的场景。
Android事件分发机制
1. 触摸事件的定义 Android系统处理用户交互的核心机制之一,它决定了触摸事件如何从系统传递到应用中具体组件并最终被处理消费。它的实现是基于责任链模式,由于触摸事件是包含ACTION_DOWN、
Android编译插桩之AspectJ:让代码像特工一样悄悄干活
大家有没有过这样的经历?项目写到一半,产品突然拍脑袋:"所有按钮点击都要加埋点!"或者测试小姐姐温柔提醒:"所有网络请求都得打日志,不然出了问题没法查~"这时候如果你对着几百个按钮逐个添加代码,
Flow中的背压与并发
一、Flow 的背压(Backpressure) 1)默认策略: 挂起传播(suspend) Flow 是冷流,上游 emit、下游 collect 默认是顺序串行。 当下游慢时:上游的 emit()
详解Flow的collectLatest { ... }
它到底做了什么? 对上游每一次 emit(value),都会启动一次 收集体(你的 { ... } 块) 。 如果下一个值在前一个收集体尚未完成时到来,则取消前一个收集体,并立刻用最新值启动新的收集体
探秘Android JVM TI:虚拟机背后的"隐形管家"
前言 如果你是Android开发者,可能每天都在和Dalvik/ART虚拟机打交道,却很少机会窥探它们的"内心世界"。 今天我们要聊的JVM TI,就是能让你直接"对话"虚拟机的神秘接口——它就像给虚
详解flowOn 与背压
1)flowOn的本质:切线程 + 建边界 语义:flowOn(dispatcher) 会把它上游(到前一个 flowOn 或源头之间)的运算,放到指定 dispatcher 上执行;下游仍在收集者所
Flow中的buffer详解
什么是buffer 在 上游(emit) 和 下游(collect) 之间插入一个有界/无界缓冲队列(底层是 Channel),把两端解耦:上游可以先“塞进队列就走”,下游慢慢消费。 主要用于背压处理
Kotlin中debounce(t)详解
1) 它到底做什么? 语义:当上游连续快速 emit 时,等待最近一次发射后的空闲期达到 t 才把“最后那个值”往下游发。期间若又来新值,就重置计时。 结论:只在静默(no new item)持续 ≥
RecyclerView布局绘制优化-OkLayoutInflater
使用OkLayoutInflater优化RecyclerView的布局加载,使得首帧渲染耗时65ms->35ms,滑动帧率45fps->52fps。
Flow的sample(t)详解
它到底做什么? 语义:按固定周期 t 取样上游,在每个周期边界发出“最近一次”值;周期内的其它值被跳过。 特点:最多 每隔 t 发 1 次;若某个周期里没有新值,该周期不发;上游完成时会把“最后一个尚
Glide图片缓存机制
一、BitmapRecycle bitmap回收池: 这里着重看BitmapPool,LruPoolStrategy,GroupedLinkedMap这三个以及其实现类即可,感觉设计理念和精髓就在其中
OkHttp拦截器:Android网络请求的「瑞士军刀」
前言 想象一下,你是一个快递站的老板。每天有成千上万的包裹(网络请求)从这里发出,也有无数的包裹(响应)送回来。你需要检查每个包裹是否贴了正确的标签(请求头),记录每个包裹的物流信息(日志),甚至拦截
让转换并发起来的两个核心手段:flatMapMerge(concurrency = N)和channelFlow { ... }
一、 flatMapMerge(concurrency = N):把“元素→子流”并发执行并合并输出 语义 对上游每个元素 x,用变换函数生成一个 子 Flow:x -> Flow。 最多同时收集 N
Android 屏幕适配系列开篇:核心概念、官方机制与主流方案
这是Android屏幕适配系列开篇,聚焦适配必要性,梳理核心单位、密度桶、官方机制、主流方案及特殊场景适配要点,帮开发者搭建完整知识框架,为后续维度深入探讨打基础。
网络江湖的两大护法:TCP与UDP的爱恨情仇
引子:快递员与信鸽的故事 想象一下,你要给远方的朋友送一份礼物。 TCP 就像顺丰快递: 先打电话确认地址(三次握手) 包装得严严实实(校验和) 每到一个中转站都发短信汇报进度(ACK确认) 如果堵车
Android 单元测试(一)—— 基础
1. 单元测试概述 1.1 什么是单元测试 单元测试是软件开发中的一种测试方法,用于验证代码中最小可测试单元(通常是方法或类)的正确性。在 Android 开发中,单元测试主要用于: 验证业务逻辑:确
Android 性能优化:提升应用启动速度(GC抑制)
前言 在移动应用开发领域,启动速度是用户体验的重要指标。对于Android应用而言,垃圾回收(Garbage Collection, GC)机制虽然是内存管理的核心,但在应用启动期间频繁触发GC会显著