1

我已经使用他们的 Android SDK 实现了来自 facebook(FAN) 的 AudienceNetwork 插页式广告。

在显示第 7 个或第 8 个广告之前效果很好。然后,应用程序崩溃并抛出 android.os.TransactionTooLargeException。

这是日志:

08-25 14:57:37.441: E/JavaBinder(910): !!! FAILED BINDER TRANSACTION !!!
08-25 14:57:37.451: W/InputDispatcher(910): channel ~ Consumer closed input channel or an error occurred.  events=0x9
08-25 14:57:37.451: E/InputDispatcher(910): channel ~ Channel is unrecoverably broken and will be disposed!
08-25 14:57:37.451: E/libprocessgroup(910): failed to kill 1 processes for processgroup 28261
08-25 14:57:37.451: I/WindowState(910): WIN DEATH: Window{34e42ccc u0 com.test.test/com.test.test.UnityPlayerActivity}
08-25 14:57:37.451: W/InputDispatcher(910): Attempted to unregister already unregistered input channel
08-25 14:57:37.451: I/WindowState(910): WIN DEATH: Window{3f95474c u0 SurfaceView}
08-25 14:57:37.451: W/ActivityManager(910): Exception in new application when starting activity com.test.test/com.facebook.ads.InterstitialAdActivity
08-25 14:57:37.451: W/ActivityManager(910): android.os.TransactionTooLargeException
08-25 14:57:37.451: W/ActivityManager(910):     at android.os.BinderProxy.transactNative(Native Method)
08-25 14:57:37.451: W/ActivityManager(910):     at android.os.BinderProxy.transact(Binder.java:496)
08-25 14:57:37.451: W/ActivityManager(910):     at android.app.ApplicationThreadProxy.scheduleLaunchActivity(ApplicationThreadNative.java:854)
08-25 14:57:37.451: W/ActivityManager(910):     at com.android.server.am.ActivityStackSupervisor.realStartActivityLocked(ActivityStackSupervisor.java:1597)
08-25 14:57:37.451: W/ActivityManager(910):     at com.android.server.am.ActivityStackSupervisor.attachApplicationLocked(ActivityStackSupervisor.java:850)
08-25 14:57:37.451: W/ActivityManager(910):     at com.android.server.am.ActivityManagerService.attachApplicationLocked(ActivityManagerService.java:7540)
08-25 14:57:37.451: W/ActivityManager(910):     at com.android.server.am.ActivityManagerService.attachApplication(ActivityManagerService.java:7607)
08-25 14:57:37.451: W/ActivityManager(910):     at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:481)
08-25 14:57:37.451: W/ActivityManager(910):     at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2965)
08-25 14:57:37.451: W/ActivityManager(910):     at android.os.Binder.execTransact(Binder.java:446)
08-25 14:57:37.451: A/ActivityManager(910): Exception thrown launching activities in ProcessRecord{3f10b395 30801:com.test.test/u0a405}
08-25 14:57:37.451: A/ActivityManager(910): android.os.TransactionTooLargeException
08-25 14:57:37.451: A/ActivityManager(910):     at android.os.BinderProxy.transactNative(Native Method)
08-25 14:57:37.451: A/ActivityManager(910):     at android.os.BinderProxy.transact(Binder.java:496)
08-25 14:57:37.451: A/ActivityManager(910):     at android.app.ApplicationThreadProxy.scheduleLaunchActivity(ApplicationThreadNative.java:854)
08-25 14:57:37.451: A/ActivityManager(910):     at com.android.server.am.ActivityStackSupervisor.realStartActivityLocked(ActivityStackSupervisor.java:1597)
08-25 14:57:37.451: A/ActivityManager(910):     at com.android.server.am.ActivityStackSupervisor.attachApplicationLocked(ActivityStackSupervisor.java:850)
08-25 14:57:37.451: A/ActivityManager(910):     at com.android.server.am.ActivityManagerService.attachApplicationLocked(ActivityManagerService.java:7540)
08-25 14:57:37.451: A/ActivityManager(910):     at com.android.server.am.ActivityManagerService.attachApplication(ActivityManagerService.java:7607)
08-25 14:57:37.451: A/ActivityManager(910):     at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:481)
08-25 14:57:37.451: A/ActivityManager(910):     at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2965)
08-25 14:57:37.451: A/ActivityManager(910):     at android.os.Binder.execTransact(Binder.java:446)
08-25 14:57:37.451: I/ActivityManager(910): Killing 30801:com.test.test/u0a405 (adj 0): error during init
08-25 14:57:37.461: W/ActivityManager(910): Force removing ActivityRecord{2b621023 u0 com.test.test/com.facebook.ads.InterstitialAdActivity t149}: app died, no saved state

有什么建议吗?

4

2 回答 2

1

我是 Audience Network 的工程师。我们在 sdk 的 4.7.0 版本中进行了更改,应该通过压缩 sdk 中的标记数据来减少 Intent 有效负载大小来防止这种情况发生。为了减轻对旧 sdk 版本的影响,我们对服务器发送的有效负载进行了一些修改——但仍然强烈建议升级到最新的 sdk 版本。

于 2015-10-28T18:20:48.070 回答
0

主要问题可能是您调用并传递到您的视图、活动或其他容器的内容的大小。首先,你可以用大约 100KB 的较小内容对其进行测试,以了解确切的问题,然后你可以搜索如何减小传入内容的大小。

于 2015-08-25T13:55:25.800 回答