Skip to content
阅读进度

使用 finishAffinity() 和 moveTaskToBack() 的区别是什么?各自适用于什么场景? ​

返回 Android 核心 目录

标准回答 ​

finishAffinity() 结束当前 Activity,以及同任务中位于它下方、具有相同 affinity 的连续 Activity;moveTaskToBack() 将整个任务移到后台,保留其中的 Activity。前者用于结束相应页面栈,后者用于暂时离开、稍后返回。

**常见误解:**两者都不是杀进程接口,也不负责清除账号凭证。退出登录仍需单独清理认证状态和访问权限。

通俗例子 ​

退出登录后不希望返回旧业务页,可以结束相应页面。只想像按 Home 一样离开,则把任务移到后台,稍后还能回来。

易混淆点 ​

退出页面、移走任务、结束进程是三个不同层次。

参考资料 ​

内容来源 ​

用完整回答理解机制,用真实证据解释项目。