我面临黑屏问题。在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个Web请求正在运行,设备显示大约30秒的黑屏。
...谢谢