三星S7上的TransactionTooLargeException [英] TransactionTooLargeException on Samsung S7

查看:272
本文介绍了三星S7上的TransactionTooLargeException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的一个应用程序在Samsung S7上引发了以下异常:

one of my apps is throwing the following exception on an Samsung S7:

java.lang.RuntimeException: 
at android.app.NotificationManager.notifyAsUser 
(NotificationManager.java:342)
at android.app.NotificationManager.notify (NotificationManager.java:292)
at android.app.NotificationManager.notify (NotificationManager.java:276)
at 
org.mypapp.test.service.NotificationReceiverRemoteViews.updateNotification 
(NotificationReceiverRemoteViews.java:202)
at org.mypapp.test.service.NotificationReceiverRemoteViews.onReceive 
(NotificationReceiverRemoteViews.java:63)
at android.support.v4.content.LocalBroadcastManager.executePendingBroadcasts 
(LocalBroadcastManager.java:308)
at android.support.v4.content.LocalBroadcastManager.access$000 
(LocalBroadcastManager.java:46)
at android.support.v4.content.LocalBroadcastManager$1.handleMessage 
(LocalBroadcastManager.java:118)
at android.os.Handler.dispatchMessage (Handler.java:102)
at android.os.Looper.loop (Looper.java:154)
at android.app.ActivityThread.main (ActivityThread.java:6642)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run 
(ZygoteInit.java:1468)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1358)
Caused by: android.os.TransactionTooLargeException: 
at android.os.BinderProxy.transactNative (Native Method)
at android.os.BinderProxy.transact (Binder.java:628)
at android.app.INotificationManager$Stub$Proxy.enqueueNotificationWithTag 
(INotificationManager.java:899)
at android.app.NotificationManager.notifyAsUser 
(NotificationManager.java:336)

这是第202行的代码:

Here the code at line 202:

notificationManager.notify(NOTIFICATION_ID, mBuilder.build());

我也使用Samsung S7,但从未遇到该错误.我也无法使用Ansdroid Studio模拟器重现该错误.因此,我不知道如何解决无法重现的错误. 有什么主意吗?

I also use an Samsung S7 and I have never gotten that error. I can't reproduce the error with the ansdroid studio emulator either. So I don't know how to fix an error I can't reproduce. Any idea?

推荐答案

可能的原因是,您在NotificationManager#notify之前更新了RemoteViews实例,而不是重新创建了一个实例,从而导致内存泄漏.我在另一个答案

Possible reason is that you update RemoteViews instance before NotificationManager#notify instead of recreating a new one thus producing memory leak. I described this case in another answer

这篇关于三星S7上的TransactionTooLargeException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆