在网络请求时显示黑屏的Android设备

时间:2017-08-01 08:09:07

标签: android retrofit

我面临黑屏问题。在Web请求操作时,一些设备(其中一些冻结一秒而不是一切正常)显示黑屏一段时间没有任何反应。

我使用Retrofit:2.0.0-beta4,异步Web请求。所以,我的网络请求在主线程上不起作用。

我尝试通过okhhttp客户端手动提供超时。但是,面对相同的结果,它没有用。

这是我的改造方法:

public Retrofit getRetrofit(Context context){
    client = new Retrofit.Builder()
            .baseUrl(SingletonLikeApp.getInstance().getConfig(context).apiBaseUrl)
            .addConverterFactory(ScalarsConverterFactory.create())
            .addConverterFactory(GsonConverterFactory.create())
            .build();
    return client;
}

以下enqueue方法异步请求

 SpikaOSRetroApiInterface retroApiInterface = getRetrofit(context).create(SpikaOSRetroApiInterface.class);
        Call<GetSectorModel> call = retroApiInterface.getSectorList(SingletonLikeApp.getInstance().getSharedPreferences(context).getToken());
        call.enqueue(new CustomResponse<GetSectorModel>(context, true, false)  {

            @Override
            public void onCustomSuccess(Call<GetSectorModel> call, Response<GetSectorModel> response) {

                }
            }
            @Override
            public void onCustomFailed(Call<GetSectorModel> call, Response<GetSectorModel> response) {


        });
    } 

这是相关方法的界面。

@POST(Const.Api.GET_SECTOR_LIST)
Call<GetSectorModel> getSectorList(@Header(Const.Params.ACCESS_TOKEN) String token);

这些是针对单个网络请求冻结4秒的设备日志enter image description here

黑屏问题。登录后,有4个Web请求正在运行,设备显示大约30秒的黑屏。

enter image description here

...谢谢

0 个答案:

没有答案