外观
使用 finishAffinity() 和 moveTaskToBack() 的区别是什么?各自适用于什么场景?
标准回答
finishAffinity() 结束当前 Activity,以及同任务中位于它下方、具有相同 affinity 的连续 Activity;moveTaskToBack() 将整个任务移到后台,保留其中的 Activity。前者用于结束相应页面栈,后者用于暂时离开、稍后返回。
**常见误解:**两者都不是杀进程接口,也不负责清除账号凭证。退出登录仍需单独清理认证状态和访问权限。
通俗例子
退出登录后不希望返回旧业务页,可以结束相应页面。只想像按 Home 一样离开,则把任务移到后台,稍后还能回来。
易混淆点
退出页面、移走任务、结束进程是三个不同层次。
参考资料
内容来源
- Android · AI Agent 知识手册 · 原条目
1.5.2