比如在某些场景下用户在页面新建内容并保存,此时处于弱网环境,网络请求时间长,而用户不想等待关闭页面。那么按照正常逻辑就应该cancel掉这次save的网络请求。但是由于没有cancel网络请求的方法,当用户关闭页面的时候,其实该save的网络请求仍在线程中运行。最终该save的网络请求有可能成功,这就导致用户的困扰(我明明关闭页面了,但是却保存成功)。所以,希望能够提供cancel网络请求的方法。

您好,您的问题可以在 UI 层面做一些判断避免。例如保存数据网络请求的时候执行 loading 的动画,同时页面的所有按钮是不可点击的,数据保存成功以后动画消失,恢复页面点击。对于网络请求时间过长的时候,可以通过对网络超时的判断,做出对应的 UI 响应。Android SDK 默认请求超过 15 秒判定为网络超时,可以根据需求定义网络超时的判定时长。