Я заметил, что в консоли Google зарегистрировано много исключений:
java.lang.RuntimeException:
at android.app.servertransaction.PendingTransactionActions$StopInfo.run (PendingTransactionActions.java:160)
at android.os.Handler.handleCallback (Handler.java:873)
at android.os.Handler.dispatchMessage (Handler.java:99)
at android.os.Looper.loop (Looper.java:201)
at android.app.ActivityThread.main (ActivityThread.java:6815)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:873)
Caused by: android.os.TransactionTooLargeException:
at android.os.BinderProxy.transactNative (BinderProxy.java)
at android.os.BinderProxy.transact (BinderProxy.java:1131)
at android.app.IActivityManager$Stub$Proxy.activityStopped (IActivityManager.java:3973)
at android.app.servertransaction.PendingTransactionActions$StopInfo.run (PendingTransactionActions.java:144)
at android.os.Handler.handleCallback (Handler.java:873)
at android.os.Handler.dispatchMessage (Handler.java:99)
at android.os.Looper.loop (Looper.java:201)
at android.app.ActivityThread.main (ActivityThread.java:6815)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:873)
Я пытаюсь выяснить, что вызывает это исключение, но я не могу. Единственное подозрительное, что у меня есть в исходном коде, - это часть, в которой я загружаю очень большой файл json (7 МБ), анализирую его на модели (data
объект) с GSON и передаю его через обработчик в мою деятельность:
Message msg = new Message();
msg.what = Util.THREAD_DATA_GENERATED;
msg.obj = data;
handler.sendMessage(msg);
. , .
notifyHandler = new Handler(new Handler.Callback() {
@Override
public boolean handleMessage(Message msg) {
Data data = (Data) msg.obj;
Manager.getInstance().setData(data);
showSelectTeamDialog();
return true;
}
});
Может ли этот обработчик вызвать это исключение при передаче параметра msg.obj с большим размером?