这是我的代码。我只是通过活动调用我的个人资料请求。我得到了这个错误。当我评论方法调用(获取请求方法)时它工作正常并向我显示我的UI。但是在调用它的时候我会通过这种递归的响应来显示黑屏..
I/art: Background sticky concurrent mark sweep GC freed 8216(299KB) AllocSpace objects, 0(0B) LOS objects, 14% free, 93MB/109MB, paused 5.381ms total 19.009ms
请帮助卡在这里......
//错误
E/JavaBinder: !!! FAILED BINDER TRANSACTION !!! (parcel size = 1575704)
E/AndroidRuntime: Error reporting crash
android.os.TransactionTooLargeException: data parcel size 1575704 bytes
at android.os.BinderProxy.transactNative(Native Method)
at android.os.BinderProxy.transact(Binder.java:503)
at android.app.ActivityManagerProxy.handleApplicationCrash(ActivityManagerNative.java:4480)
at com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:90)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)
//活性
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.admin_profile_activity);
mAPIService = ApiUtils.getAPIService();
//method call
requestProfileDetail(LoginActivity.authTOken);
}
//方法
private void requestProfileDetails(String authoken){
mAPIService.getProfileDetails(authoken).enqueue(new
Callback<AdminProfileRequest>() {
@Override
public void onResponse(Call<AdminProfileRequest> call,Response<AdminProfileRequest> response) {
if(response.isSuccessful()) {
Log.d("Name","Name ");
}else{
Log.d("response", "code = " + response.code());
Log.d("response: ","boyd= "+response.body());
APIError error = ErrorUtils.parseError(response);
Log.d("error message", ""+error.message());
}
}
@Override
public void onFailure(Call<AdminProfileRequest> call, Throwable t) {
}
});
}
// request_Call_from_interface
@GET("getuserprofile")
Call<AdminProfileRequest> getDetails(@Header("Authorization") String
authToken);
答案 0 :(得分:0)
我遇到了同样的问题。经过许多次测试之后,我终于找到了原因:我的模型(在您的情况下,AdminProfileRequest
用于方法响应中的模型)正在实现Parcelable
,这在我的应用程序的其他实例中是内部需要的。删除该实现(并实现在活动/片段之间传递数据的变通方法)可以解决崩溃问题。