改造和活动生命周期

use*_*452 3 android retrofit2

我想用Android创建一个REST客户端,我读到了有关改造的内容.当我通过改造执行一些请求时,即使活动被销毁,也会执行回调.

在活动被销毁后如何停止接收响应?

apiService.getDummieContent().enqueue(new Callback<ResponseBody>() {
    @Override
    public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {

    }

    @Override
    public void onFailure(Call<ResponseBody> call, Throwable t) {

    }
});
Run Code Online (Sandbox Code Playgroud)

Hri*_*nov 6

您可以将请求分配给变量并在活动销毁时取消它:

Call<ReponseBody> call = apiService.getDummieContent();
call.enqueue(...);

@Override
protected void onDestroy() {
    super.onDestroy();
    call.cancel();
}
Run Code Online (Sandbox Code Playgroud)