
android中设计架构
文章平均质量分 81
用于复习相关知识或者应付面试
xzkyd outpaper
一个普普通通的小白罢了
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android Navigation 原理解析
解析节点属性(id、label、arguments 等)替换操作会销毁上一个 Fragment 的视图。NavHostFragment 的。Fragment 无内置任务栈管理。视图重建开销(特别是复杂UI)建立 action 连接关系。首次设置导航图时触发启动流程。处理嵌套导航图(递归解析)避免视图叠加导致的潜在问题。:严格的内存管理,避免泄露。确保每次导航都传递新参数。根据标签名获取对应的。优先保证导航行为一致性。提交事务后立即执行(状态保存/恢复复杂化。原创 2025-06-24 17:25:12 · 574 阅读 · 0 评论 -
Android Navigation 架构
处理导航操作(navigate/popBackStack)提供 Fragment 容器(通常是。将具体导航操作委托给专门的。可以是原子目标或嵌套图。:导航的物理容器和起点。:导航系统的中央协调器。:具体导航操作的执行者。处理特定类型目标的导航。实现导航结构的树形组织。实现导航和返回栈操作。:导航路线的抽象定义。原创 2025-06-24 16:41:28 · 1015 阅读 · 0 评论 -
Android Retrofit 解析
动态代理解耦将接口声明与实际实现分离运行时生成API实现类注解驱动设计@GET@POST定义请求方法@Path@Query处理参数@Headers配置请求头组件化架构| - 注解解析器 || - 请求构建器 || - 网络执行器 || - 数据转换引擎 | +-----------------+| - 调用方式适配器 | +------------------+线程切换机制默认通过实现主线程回调可自定义线程调度策略总结Retrofit 的核心原理分为三步:第一步:接口声明。原创 2025-06-18 17:07:40 · 869 阅读 · 0 评论 -
Android ViewBinding 简述
ViewBinding 是 Android Jetpack 组件,用于替代传统 findViewById,提供类型安全和空安全的视图访问方式。它会在编译时为每个 XML 布局文件生成绑定类,直接映射视图 ID。二、ViewBinding优点 类型安全:自动匹配视图类型,避免类型转换错误空安全:生成的视图引用永不为 null(除非布局中不存在)编译时检查:XML-ID 错误在编译时暴露,而非运行时崩溃代码简洁:消除模板代码,提升可读性性能优化:编译时生成代码,零运行时开销2. 自动生成的原创 2025-06-18 14:39:11 · 582 阅读 · 0 评论 -
Glide缓存机制
弱引用 + LruCache减少网络流量消耗避免Bitmap频繁创建/销毁引发的GC提升图片加载速度acquired变量记录引用次数acquire():引用+1(图片使用时调用)release():引用-1(图片释放时调用):弱引用 → LruCache:磁盘 → 弱引用 → LruCache(释放时):弱引用减少LruCache的trimToSize频率(trimToSize是LruCache(Least Recently Used Cache)中的核心方法,用于。原创 2025-06-18 14:12:44 · 731 阅读 · 0 评论 -
Android中Glide.with().load().into() 应付面试源码解析
with(this):创建与 UI 生命周期绑定的通过获取单例向 Activity/Fragment 添加通过 Fragment 生命周期回调控制请求(页面销毁时自动取消加载):使用全局生命周期:解决内存泄漏问题,实现请求与页面生命周期同步load(url)创建对象初始化→(处理网络流)最终组合为(支持流 + 文件描述符双通道)封装参数:URL 数据源解码器(转码器(:通过泛型抽象支持多种数据源(URL/文件/资源ID等)原创 2025-06-17 20:06:35 · 1107 阅读 · 0 评论 -
android中mvc、mvp、mvvm模式区别
特性MVCMVPMVVM职责分离Activity 兼任 ControllerPresenter 处理业务逻辑ViewModel 管理数据状态耦合度高(View 和 Model 直接交互)低(通过接口解耦)低(数据绑定)测试便利性难以测试便于单元测试便于单元测试代码量较少(但易臃肿)较多(需定义接口)中等(利用 Jetpack)适用场景简单页面需要测试的中型项目复杂 UI 或数据驱动项目。原创 2025-04-14 17:02:24 · 1057 阅读 · 0 评论 -
Android DataBinding 与 MVVM
DataBinding 是 Android Jetpack 的官方库,允许在布局文件中。原创 2025-06-17 14:27:19 · 278 阅读 · 0 评论