news 2026/10/15 3:59:10

第154篇 Navigation 组件:单 Activity 架构的路由方案

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第154篇 Navigation 组件:单 Activity 架构的路由方案

先把结论放在前面:Navigation 组件的核心是三件事——NavController管理一个目的地栈(back stack)、NavHostFragment负责在容器里替换内容、转场动画由框架统一维护(不复用 Activity 跳转动画)。 围绕这三件事,最值得答的细节在于"栈里存的是什么"——存的是 Fragment 实例(Navigator用replace()换 Fragment)还是FragmentTransaction的记录**。答案直接决定了后面所有坑位的成因。

这题的"细节答对就是加分项"体现在:知道navigate()的默认行为是popUpTo = 当前 destination(也就是"出栈再入栈")、知道launchSingleTop与restoreState的差别、知道深链的 pending intent 何时被消费。这三条是绝大多数人答不出来的。

返回栈:里面究竟存了什么

NavController内部维护NavBackStackEntry列表,每个 entry 记录:destination(目的地 id 与配置)、arguments(Bundle)、

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/15 3:56:38

HART转Modbus TCP网关实战:光伏车间温度变送器接入上位机监控

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/15 3:55:26

小团队搞数字化,卡点从来不是钱,是人——

一个三四人的配送小队,真正决定要不要上系统的,往往不是报价单。是凌晨两点,老板娘在微信里接完最后一单,抬头看见分拣的老张还在对着纸质单子一笔笔抄;是新来的司机跑错两趟,因为地址写在送货单的背面&…

作者头像 李华
网站建设 2026/10/15 3:55:26

上门预约系统:预约状态和进度通知接口怎么拆

上门预约系统若把 push 发送写在状态事务里,通道超时会导致状态回滚或半成功。宜事务内只改 appointment 行,通知走 outbox 异步。结论 状态真相在 appointments 表;notifier 读 event 推送,失败可重试。 func (s *Service) Dispa…

作者头像 李华
网站建设 2026/10/15 3:55:25

叮当小宝CS管理篇:客服休假怎么交接?三张表让接手人零追问

交接做得好不好,不看文档写得多长,看接手人问了你几个问题。休假三天,如果同事追着你的微信问东问西,说明交接漏了关键信息;买家在一个问题上被反复求证,好感也磨没了。把事情压进三张表,别人接…

作者头像 李华