在改造中多次入队导致内存不足错误?

时间:2016-05-11 07:25:10

标签: android out-of-memory retrofit retrofit2

使用retrofit2进行我的项目。当我的呼叫失败时,我再次重复相同的呼叫。重复此​​呼叫使我的应用程序强行关闭。 当我查看日志时,我得到了错误日志,如下所示。我觉得这是由同一个Call的多次入队引起的。所以我在enqueus之前做了那个我叫取消。但它不起作用。得到同样的力量。

{{1}}

提前致谢。

2 个答案:

答案 0 :(得分:0)

你应该避免这种方法,因为它会使它成为一个递归调用。相反,您应首先检查故障功能中的原因,然后重试。同时修复重试次数。

答案 1 :(得分:0)

我正在使用Retrofit 2.0.2,我的清单文件中有这个标记:

android:largeHeap="true"

我正在重试这样的失败:

@Override
public void onFailure(Call<AudioResponse> call, Throwable error) {
    loading.setVisibility(View.GONE);
    if (mAdapter.getItemCount() == 0) {
        SetErrorContent();
    }
    Log.e("Error", error.getMessage() + "");

    call.cancel();
    call.clone().enqueue(this);
}

它没有崩溃。试一试。