首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
一道面试题
fundroid
创建于2021-05-11
订阅专栏
不搞八股文,专注MAD新技术的应用
等 102 人订阅
共22篇文章
创建于2021-05-11
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Android 官方架构中的 UseCase 该怎么写?
UseCase 的用途 Android 最新的架构规范中,引入了 Domain Layer(译为领域层or网域层),建议大家使用 UseCase 来封装一些复杂的业务逻辑。
Compose 状态保存:rememberSaveable 原理分析
rememberSaveable 可以帮助 Composable 在横竖屏切换甚至进程切换后恢复状态,这主要是通过 SaveableStateRegistry 实现的。
一看就懂!图解 Kotlin SharedFlow 缓存系统
创建 SharedFlow 需设置三个参数:replay,extraBufferCapacity 和 onBufferOverflow。本文用图解的方式带大家认识 SharedFlow 的缓存系统
Fragment 这些 API 已废弃,你还在使用吗?
盘点 Fragment 被废弃的 API:onActivityCreated,startActivityForResult,setTargetFragment,setRetainInsInstance
聊聊 Kotlin 代理的“缺陷”与应对
Kotlin 的 by 代理面试题中经常问到的知识点,虽然它作为 Kotin 语法非常方便,但是也有一些设计缺陷会遭到吐槽。
Jetpack MVVM 七宗罪之六:ViewModel 接口暴露不合理
Jetpack 提倡单向数据流架构,ViewModel 对外暴露的接口如果不合理,将破坏数据流的单向流动。
Kotlin DSL 实战:像 Compose 一样写代码
前言 Kotlin 是一门对 DSL 友好的语言,它的许多语法特性有助于 DSL 的打造,提升特定场景下代码的可读性和安全性。
为什么 RxJava 有 Single / Maybe 等单发数据类型,而 Flow 没有?
Coroutine Flow 与 RxJava 都是流式数据处理框架, Rx 支持 Single,Maybe,Compleable 等单发数据类型,但是为什么 Flow 却不支持?
Jetpack MVVM 七宗罪之五: 在 Repository 中使用 LiveData
由于 LiveData 简单好用再加上官网早期的推荐,很多人会将 LiveData 用在 Domain 甚至 Data 层等非 UI 场景,这样的用法并不合理,也已经不再被官方推荐。
Jetpack MVVM 七宗罪之四: 使用 LiveData/StateFlow 发送 Events
在 MVVM 架构中,使用 LiveData 或者 StateFlow 很适合用来向 UI 侧发送更新后的状态,但是用来发送事件就不妥了
@OnLifecycleEnvent 被废弃,替代方案更简单
近期 androidx.lifecycle 发布了 2.4.0 版本,此次更新中 @OnLifecycleEvent 注解被废弃,官方建议使用 DefaultLifecycleOvserver
一道面试题: Kotlin 中处理生产者/消费者问题的 N 种方式
生产者消费者问题是面试中常被问到的问题,Kotlin 继承了 Java 的所有能力同时增加了协程,本问题盘点一下 Kotlin 中处理生产者消费者问题的几种方法
Jetpack MVVM七宗罪之三:在 onViewCreated 中加载数据
Jetpack 的 MVVM 本身没有错,错在开发者的某些使用不当。本系列将分享那些 AAC 中常见的错误用法,以帮助大家打造更健康的应用架构:聊一聊MVVM中 ViewModel数据的首次加载时机
Jetpack MVVM七宗罪 之二:在 launchWhenX 中启动协程
Jetpack MVVM 使用常见错误 :在 launchWhenX 中启动协程可能会隐藏隐患,应该用 repeatOnLifecycle 替代
Jetpack MVVM七宗罪 之一 拿Fragment当LifecycleOwner
Jetpack 的 MVVM 本身没有错,错在开发者的某些使用不当。本系列将分享那些 AAC 中常见的错误用法,指导大家打造更健康的应用架构
FragmentFactory :功能详解&使用场景
AndroidX 1.1.0 引入了FragmentFactory,允许Fragment使用非空构造函数创建,有利于扩大Fragment的使用场景
面试必备:Kotlin 线程同步的 N 种方法
面试的时候经常会被问及多线程同步的问题,例如,有 Task1、Task2 等多个并行任务,如何等待全部执行完成后执行 Task3?
一道面试题:介绍一下 Fragment 间的通信方式?
Fragment 1.3 之后新增了Result API,本文借机盘点一下 Fragment 各种常见的通信方式
一道面试题:介绍一下 LiveData 的 postValue ?
很多面试官喜欢会就一个问题不断深入追问。 例如一个小小的 LiveData 的 postValue,就可能会问出一连串问题
下一页