首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
关注
综合
后端
前端
Android
iOS
人工智能
开发工具
代码人生
阅读
排行榜
综合
后端
排行榜
前端
Android
iOS
人工智能
开发工具
代码人生
阅读
全部
Android
Kotlin
前端
面试
Flutter
Android Jetpack
Java
HarmonyOS
逆向
展开
全部
Android
Kotlin
前端
面试
Flutter
Android Jetpack
Java
HarmonyOS
逆向
Android Studio
架构
性能优化
iOS
APP
开源
暂无数据
推荐
最新
Android编译插桩黑科技:ReDex带你给App"瘦个身,提个速"
如果你是Android开发者,一定对"包体积"和"启动速度"这两个词不陌生。产品经理天天催着"再小一点",用户抱怨"怎么又卡了",而你看着ProGuard的混淆报告陷入沉思——难道就没有更猛的优
采用ExoPlayer播放器,进行播放器池的重用,如何防止解码器不重用?
必做清单(从最影响复用到最次) 切源时不要 stop() / release() 直接在同一个 ExoPlayer 上 setMediaItem(...) → prepare(),这样渲染器会评估是否
再写13道Android面试题,裁员无非是关机再重启
前言 “你恐怕要领大礼包了”这是一大早刚到公司领导喊我去会议室跟我说的话,刚听见我还有点懵,以为要给我什么好吃的,然后就反应过来了,我又被裁了,这工作是去年入职的,到现在刚好要一年了,虽说我知道目前这
面试---h5秒开优化
面试官:请谈谈你在项目中关于文章详情页(WebView H5)加载优化所做的工作。 我的回答:好的,面试官。在上一个项目中,我们的文章详情页采用的是 Hybrid 方案,即使用 WebView
MVI架构如何改变Android开发模式
深入探索Model-View-Intent(MVI)架构如何通过单向数据流和状态集中管理解决Android开发中的状态管理难题,提供与MVP、MVVM的详细对比及完整购物车实战案例。
揭秘Android编译插桩:ASM让你的代码"偷偷"变强
前言 想象一下:老板突然说"所有方法都要加耗时统计",产品经理补刀"每个按钮点击都得埋点",测试同学再加一句"异常要自动上报"。如果你手动改,怕是要改到地老天荒。 这时候,编译插桩就像个"幕后英雄"—
如何 把 Mac 上的 APK(app) 安装到安卓手机上?
用 ADB(Android Debug Bridge) 把 Mac 上的 APK 安装到安卓手机上,这种方法对测试和开发非常方便 一、在 Mac 上安装 ADB 方法 1:用 Homebrew 安装
如何让A、B、C三个线程按严格顺序执行(附十一种解)?
如何让A、B、C三个线程按严格顺序执行(A → B → C)。考验的是Java种的多线程基础,这里给大家带来十一种解法,一定有你没有见过的新姿势。
Flutter Isolates的工作原理、使用方法和最佳实践
Flutter Isolates的工作原理、使用方法和最佳实践 Flutter 应用以其流畅的UI和跨平台能力深受开发者喜爱。然而,由于其单线程事件循环模型,处理CPU密集型任务时(如大规模数学计算、
RecyclerView布局绘制优化-OkLayoutInflater
使用OkLayoutInflater优化RecyclerView的布局加载,使得首帧渲染耗时65ms->35ms,滑动帧率45fps->52fps。
Kotlin-Sealed与Open的使用
Open的使用 open 就像给 Kotlin 类 / 方法 “拆了锁”—— 默认情况下它们都是 “上锁” 的(不能被继承 / 重写),加了 open 才允许子类 “进门修改”。 打个生活比方:你买的
Channel 的时间相关与选择器:delay、withTimeout/withTimeoutOrNull、ticker
1)delay(ms):可取消的“睡眠”,不阻塞线程 作用:让当前协程挂起 ms 毫秒,不占用底层线程(调度器会在到时后恢复协程)。 可取消:期间如协程被取消,delay 会立刻结束并抛 Cancel
协程suspend 如何被编译成“状态机”
1) 大图景:CPS 改写 + 堆上栈(stackless) 思想:suspend 会被编译器做 Continuation-Passing Style (CPS) 转换—— 原本“直接返回”的函数,被
探秘Android JVM TI:虚拟机背后的"隐形管家"
前言 如果你是Android开发者,可能每天都在和Dalvik/ART虚拟机打交道,却很少机会窥探它们的"内心世界"。 今天我们要聊的JVM TI,就是能让你直接"对话"虚拟机的神秘接口——它就像给虚
Android面试基础篇(一):基础架构与核心组件深度剖析
🔍 一、Android面试基础(一):基础架构与核心组件深度剖析 1.1 生命周期回调的实战意义 关键场景解析: 配置变更重建:屏幕旋转时系统自动调用onSaveInstanceState()保存数据
Android编译插桩之AspectJ:让代码像特工一样悄悄干活
大家有没有过这样的经历?项目写到一半,产品突然拍脑袋:"所有按钮点击都要加埋点!"或者测试小姐姐温柔提醒:"所有网络请求都得打日志,不然出了问题没法查~"这时候如果你对着几百个按钮逐个添加代码,
Recyclerview回收复用机制——图文详解
RecyclerView的缓存机制主要由四级缓存构成,分别是mAttachedScrap、mCachedViews、mViewCacheExtension和mRecyclerPool
协程真正的“挂起点”:suspendCoroutine 与 suspendCancellableCoroutine
1) 它们在协程体系里的位置 作用:把回调式/异步API“桥接”成 suspend,从而能写出同步风格。 本质:在这里创建并拿到当前挂起点的 Continuation,由你在未来某个时刻调用 resu
面试题总结---基础题
Java中提供了抽象类还有接口,开发中如何去选择呢? 抽象类:1.描述“是什么”;2.包含具体和抽象方法;3.子类中共享代码和属性;4.单继承,一个类只能继承一个抽象类; 接口:描述“能做什么”;2.
ArrayMap、SparseArray和HashMap有什么区别?该如何选择?
`ArrayMap`、`SparseArray` 和 `HashMap` 是三兄弟,但它们各有绝活,用在不同的场景。