问题标签 [transactiontoolargeexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
414 浏览

android - 经过数小时测试后的Android TransactionTooLargeException

我在三星的设备上遇到了问题。
经过数小时的压力测试,两个小部件显示异常,并且这两个小部件(cmaweather 和 storyalbumwidget)发生了 ANR。

这是跟踪:

02-11 08:38:00.219 W/ActivityManager(728):解除绑定服务 com.sec.android.widgetapp.ap.hero.cmaweather/.SurfaceWidgetWeather 时出现异常 02-11 08:38:00.219 W/ActivityManager(728): android.os.TransactionTooLargeException 02-11 08:38:00.219 W/ActivityManager(728):在 android.os.BinderProxy.transact(本机方法)02-11 08:38:00.219 W/ActivityManager(728):在 android。 app.ApplicationThreadProxy.scheduleUnbindService(ApplicationThreadNative.java:880) 02-11 08:38:00.219 W/ActivityManager(728): at com.android.server.am.ActiveServices.removeConnectionLocked(ActiveServices.java:1365) 02-11 08 :38:00.219 W/ActivityManager(728): 在 com.android.server.am.ActiveServices.unbindServiceLocked(ActiveServices.java:639) 02-11 08:38:00.219 W/ActivityManager(728): 在 com.android。 server.am.ActivityManagerService。unbindService(ActivityManagerService.java:13374) 02-11 08:38:00.219 W/ActivityManager(728): 在 android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:824) 02-11 08:38:00.219 W/ActivityManager( 728): 在 com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2136) 02-11 08:38:00.219 W/ActivityManager(728): 在 android.os.Binder.execTransact(Binder.java: 388)02-11 08:38:00.219 W/ActivityManager(728):在 dalvik.system.NativeStart.run(本机方法)02-11 08:38:00.239 W/ActivityManager(728):启动服务 com 时出现异常。 sec.android.widgetapp.ap.hero.cmaweather/.SurfaceWidgetWeather 02-11 08:38:00.239 W/ActivityManager(728):android.os.TransactionTooLargeException 02-11 08:38:00.239 W/ActivityManager(728):在android.os.BinderProxy。交易(本机方法)02-11 08:38:00.239 W/ActivityManager(728):在 android.app.ApplicationThreadProxy.scheduleCreateService(ApplicationThreadNative.java:857)02-11 08:38:00.239 W/ActivityManager(728):在 com.android.server.am.ActiveServices.realStartServiceLocked(ActiveServices.java:1111) 02-11 08:38:00.239 W/ActivityManager(728): 在 com.android.server.am.ActiveServices.bringUpServiceLocked(ActiveServices.java :1034) 02-11 08:38:00.239 W/ActivityManager(728): 在 com.android.server.am.ActiveServices.bindServiceLocked(ActiveServices.java:534) 02-11 08:38:00.239 W/ActivityManager(728 ): 在 com.android.server.am.ActivityManagerService.bindService(ActivityManagerService.java:13367) 02-11 08:38:00.239 W/ActivityManager(728): 在 android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:814)02-11 08:38:00.239 W/ActivityManager(728):在 com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2136)02-11 08:38:00.239 W/ActivityManager(728) : 在 android.os.Binder.execTransact(Binder.java:388) 02-11 08:38:00.239 W/ActivityManager(728): 在 dalvik.system.NativeStart.run(Native Method) 02-11 08:38: 00.249 W/ActivityManager(728):解除绑定服务 com.samsung.android.app.storyalbumwidget/.StoryAlbumWidget 时出现异常 02-11 08:38:00.249 W/ActivityManager(728):android.os.TransactionTooLargeException 02-11 08:38 :00.249 W/ActivityManager(728): 在 android.os.BinderProxy.transact(Native Method) 02-11 08:38:00.249 W/ActivityManager(728): 在 android.app.ApplicationThreadProxy.scheduleUnbindService(ApplicationThreadNative.java:880 ) 02-11 08:38:00。249 W/ActivityManager(728):在 com.android.server.am.ActiveServices.removeConnectionLocked(ActiveServices.java:1365)02-11 08:38:00.249 W/ActivityManager(728):在 com.android.server.am .ActiveServices.unbindServiceLocked(ActiveServices.java:639) 02-11 08:38:00.249 W/ActivityManager(728): 在 com.android.server.am.ActivityManagerService.unbindService(ActivityManagerService.java:13374) 02-11 08: 38:00.249 W/ActivityManager(728): 在 android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:824) 02-11 08:38:00.249 W/ActivityManager(728): 在 com.android.server.am.ActivityManagerService .onTransact(ActivityManagerService.java:2136) 02-11 08:38:00.249 W/ActivityManager(728): 在 android.os.Binder.execTransact(Binder.java:388) 02-11 08:38:00.249 W/ActivityManager (728):在 dalvik.system.NativeStart。运行(本机方法)

我知道 TransactionTooLargeException 是因为事务的数据太大。
但我不知道为什么这个异常只是在经过数小时的压力测试后才发生。
在压力测试中,我们只是一次又一次地打开一些应用程序。

有人有什么主意吗?
我该如何检查这个问题?

0 投票
2 回答
2853 浏览

android - Android IPC 最大事务大小?

我正在制作使用 Binder 相互通信的小型 Android 应用程序。

据我所知,Android Binder 有一个最大事务大小(1MB)。例如,TransactionTooLargeException当应用程序尝试使用 Binder 事务发送大于 1MB 的消息时抛出。

我不明白为什么这是有限的。是否有任何理由限制最大交易规模?LinuxSOCK_STREAM也是IPC,但没有限制。

这个限制有什么合理的理由吗?似乎 Android 文档没有解释为什么它们将事务大小限制为 1MB。('Binder 事务缓冲区具有有限的固定大小'那么他们为什么要限制缓冲区?)。

如果框架没有限制 IPC 大小,是否有任何关键案例?据我所知,即使对最大 IPC 大小没有限制,Linux 也能很好地工作。

0 投票
0 回答
186 浏览

android - Android:TransactionTooLargeException 但捆绑包大小仅为 368

最后,我能够TransactionTooLargeException在我的应用程序中进行复制

FragmentStatePagerAdapter用来展示几个片段,每个片段都承载一个 RecycleView,并且在单击每个项目时,正在添加另一个片段。

在 recyclerView 屏幕处于前台时按下 Home 按钮时应用程序崩溃

这就是saveState看起来的样子FragmentStatePagerAdapter

如果我尝试记录包大小,它显示在 300 Kb 左右,但 logcat 显示 966576 Kb

只是为了确保这只是使应用程序崩溃的捆绑包如果我在超级应用程序不会崩溃之前将其设为空

想知道我的片段试图保存到 OS 进程的位置

0 投票
0 回答
1203 浏览

android - android.os.TransactionTooLargeException: 数据包大小 3354884 字节

每次从可绘制文件夹 TransactionTooLargeException 加载图像时出错

0 投票
0 回答
65 浏览

android - 有意图地传递原始相机字节数组

我正在尝试camera picture callback使用意图传递字节数组以进行进一步的操作。我已经创建了相机,使用它可以正常工作SurfaceView

这是我传递原始图像字节的方法:

此代码启动下一个活动,但出现黑屏,在日志中我可以看到此异常:

为了简洁起见,我跳过了surfaceview代码。我必须通过哪些选项将其传递给下一个活动?谢谢。

0 投票
1 回答
795 浏览

wcf-binding - 远程服务器返回错误:(413) Request Entity Too Large in WCF

WCF 服务正在返回

远程服务器返回错误:(413) Request Entity Too Large

但数据大小只有 80KB 我配置了 2GB 最大大小。我试过堆栈溢出,但我仍然面临同样的问题。

配置:

服务器端接口

在客户端

我正在访问 WCF 服务以通过 MVC4 .Net 应用程序中的 SOAP 协议传输数据。参数均为字符串类型。如果文本大小超过 60 KB,则在调用该方法时,它会引发错误,例如“远程服务器返回错误:(413) 请求实体太大”。但是在基于 stackoverflow 指南的服务器配置中,我为配置中收到的 Max 消息添加了 MAX 大小,我仍然面临同样的帮助。

0 投票
1 回答
885 浏览

android - Android TransactionTooLargeException 不知道是什么原因造成的

我不知道在我的一个片段屏幕上导致此异常的原因和位置。

我试图用这个 TooLargeTool 调试它,我有这样的输出:

该屏幕与其他屏幕没有太大区别,也不例外。

我经常有这样的错误

我在其中有带有 ImageView 的自定义视图,我认为这种情况可能会像这样将这个图像保存在 Parcel 中:

0 投票
1 回答
513 浏览

java - 传递 Parcelable ArrayList 时的 Android TransactionTooLargeException

我正在开发一个 Android 测验应用程序(我是初学者)。所以我有一个抽象类问题和三个问题类型的子类(多个答案、带图像的问题和真/假问题)。我从三个不同的 CSV 文件中读取了我的问题,然后将它们存储在ArrayList<Questions>.

我搜索了如何将 ArrayList 从一个活动传递给另一个活动。我发现我们可以使用 getSerializableExtra 来做到这一点。我试图做到这一点,但后来我发现因为我的 Drawable 而我无法做到这一点。所以我实现了 Parcelable 类来做到这一点。

但是现在,当我开始新的活动时,它因为 TransactionTooLargeException 而转储,我不知道该怎么办。我搜索了答案并阅读了很多 Stack Overflow 帖子,但没有找到任何解决方案。很多人都在使用 Fragment,但我不使用它。是否可以将我的数组列表传递给其他活动?

这是代码

问题.java

多重问题.java

ImageQuestion.java

真假.java

MainActivity.java:列表在 play() 方法中传递

MultipleQuestionActivity.java都在 onCreate

ImageQuestionActivity.java 和 TrueFalseActivity.java 的代码与 MultipleQuestionActivity.java 相同,所以我不会放在这里。请告诉我是否有其他方法可以传递 ArrayList,或者我是否不必执行此列表。

我的代码中还有一个我没有看到的问题(由于异常,这不是主要问题),无论播放函数调用什么,都只有“科学”主题问题。

这是Logcat:

更新

如评论中所述,我尝试使用 DataFragment 类,但现在我得到了 NullPointerException。

数据片段.java

MainActivity.java (play() 方法)

其他活动(onCreate)

0 投票
1 回答
1279 浏览

android-9.0-pie - 调用 onSaveInstanceState 时的 TransactionTooLargeException

它似乎发生在 onSaveInstanceState 调用时。

Android 8.1 和 9.0 设备都有这个问题。

如何解决这个问题?

非常感谢!

13404-10 02:49:44.606 16580 16580 E JavaBinder:!!!Binder 交易失败!!!(包裹大小 = 527472)

13504-10 02:49:44.606 16580 16580 W ActivityStopInfo:捆绑统计信息:

13604-10 02:49:44.606 16580 16580 W ActivityStopInfo: android:viewHierarchyState [size=2104]

13704-10 02:49:44.607 16580 16580 W ActivityStopInfo: android:views [size=2000]

13804-10 02:49:44.620 16580 16580 W ActivityStopInfo: android:support:fragments [size=524484]

13904-10 02:49:44.620 16580 16580 W ActivityStopInfo:PersistableBundle 统计信息:

14004-10 02:49:44.620 16580 16580 W ActivityStopInfo: [null]

14104-10 02:49:44.620 16580 16580 D AndroidRuntime:关闭 VM 142--------- 崩溃开始

14304-10 02:49:44.621 16580 16580 E AndroidRuntime:致命异常:主要

14404-10 02:49:44.621 16580 16580 E AndroidRuntime:进程:com.cwj.hsing,PID:16580

14504-10 02:49:44.621 16580 16580 E AndroidRuntime: java.lang.RuntimeException: android.os.TransactionTooLargeException: 数据包大小 527472 字节

14604-10 02:49:44.621 16580 16580 E AndroidRuntime: 在 android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:160)

14704-10 02:49:44.621 16580 16580 E AndroidRuntime: 在 android.os.Handler.handleCallback(Handler.java:873)

14804-10 02:49:44.621 16580 16580 E AndroidRuntime: 在 android.os.Handler.dispatchMessage(Handler.java:99)

14904-10 02:49:44.621 16580 16580 E AndroidRuntime: 在 android.os.Looper.loop(Looper.java:280)

15004-10 02:49:44.621 16580 16580 E AndroidRuntime: 在 android.app.ActivityThread.main(ActivityThread.java:6706)

15104-10 02:49:44.621 16580 16580 E AndroidRuntime:在 java.lang.reflect.Method.invoke(本机方法)

15204-10 02:49:44.621 16580 16580 E AndroidRuntime: 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)

15304-10 02:49:44.621 16580 16580 E AndroidRuntime: 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

15404-10 02:49:44.621 16580 16580 E AndroidRuntime:原因:android.os.TransactionTooLargeException:数据包大小 527472 字节

15504-10 02:49:44.621 16580 16580 E AndroidRuntime:在 android.os.BinderProxy.transactNative(本机方法)

15604-10 02:49:44.621 16580 16580 E AndroidRuntime: 在 android.os.BinderProxy.transact(Binder.java:1127)

15704-10 02:49:44.621 16580 16580 E AndroidRuntime: 在 android.app.IActivityManager$Stub$Proxy.activityStopped(IActivityManager.java:4011)

15804-10 02:49:44.621 16580 16580 E AndroidRuntime: 在 android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:144)

15904-10 02:49:44.621 16580 16580 E AndroidRuntime: ... 7 更多

0 投票
1 回答
585 浏览

android - 启动活动时出现异常android.os.TransactionTooLargeException:数据包大小

用大量额外数据创建意图

然后运行活动: startActivity(createIntent(...

应用程序崩溃并出现错误:

Exception when starting activity android.os.TransactionTooLargeException: data parcel size...

当列表中的数据太大时,如何避免此类错误?