Launcher中的android.os.transactiontoolargeexception

时间:2013-05-10 08:32:30

标签: android performance android-widget google-tv android-launcher

我们正在为Android TV开发企业应用程序,小部件和启动器。我们有Android机顶盒,它运行我们的启动器,一些小部件和应用程序。窗口小部件在启动时在启动器中具有固定位置。

我们在启动器中获取android.os.transactiontoolargeexception。异常是随机生成的。一般来说,我们观察到当我们长时间保持盒子运行时,我们正面临着这个问题。我们的盒子将在客户端24 * 7运行。所以这个问题对我们来说至关重要。

究竟发生了什么,

1 即可。当我们得到这个异常启动器崩溃。我们有一些服务,我们正在通过我们的启动器的onCreate()注册报警管理器。

2 即可。由于我们只有一个启动器,在崩溃后它会尝试重新启动我们的启动器。因此它进入循环。

第3 即可。我们所有的服务都是每次循环重新注册。

4 即可。我们没有为我们的发射器显示。我们将它连接到HDMI监视器。

我们无法找到问题的确切原因。附加相同的日志。如果有人能提出一些解决方案,那么我们将非常感激。

  W/ActivityManager( 3376):   Force finishing activity com.sample.core.launcher/.HomeActivity

  I/ActivityManager( 3376): Process com.sample.core.launcher (pid 27399) has died.

  I/ActivityManager( 3376): START {act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000000 cmp=com.sample.core.launcher/.HomeActivity u=0} from pid 0

  I/ActivityManager( 3376): Start proc com.sample.core.launcher for activity com.sample.core.launcher/.HomeActivity: pid=27426 uid=1000 gids={3003, 1015, 1028, 2001, 3002, 3001}

  E/AndroidRuntime(27426): FATAL EXCEPTION: main

  E/AndroidRuntime(27426): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sample.core.launcher/com.sample.core.launcher.HomeActivity}: java.lang.RuntimeException: system server dead?

  E/AndroidRuntime(27426):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)

  E/AndroidRuntime(27426):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)

  E/AndroidRuntime(27426):  at android.app.ActivityThread.access$600(ActivityThread.java:130)

  E/AndroidRuntime(27426):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)

  E/AndroidRuntime(27426):  at android.os.Handler.dispatchMessage(Handler.java:99)

  E/AndroidRuntime(27426):  at android.os.Looper.loop(Looper.java:137)

  E/AndroidRuntime(27426):  at android.app.ActivityThread.main(ActivityThread.java:4745)

  E/AndroidRuntime(27426):  at java.lang.reflect.Method.invokeNative(Native Method)

  E/AndroidRuntime(27426):  at java.lang.reflect.Method.invoke(Method.java:511)

  E/AndroidRuntime(27426):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)

  E/AndroidRuntime(27426):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)

  E/AndroidRuntime(27426):  at dalvik.system.NativeStart.main(Native Method)

  E/AndroidRuntime(27426): Caused by: java.lang.RuntimeException: system server dead?

  E/AndroidRuntime(27426):  at android.appwidget.AppWidgetHost.startListening(AppWidgetHost.java:133)

  E/AndroidRuntime(27426):  at com.sample.core.launcher.HomeActivity.onStart(HomeActivity.java:2027)

  E/AndroidRuntime(27426):  at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1173)

  E/AndroidRuntime(27426):  at android.app.Activity.performStart(Activity.java:5132)

  E/AndroidRuntime(27426):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2032)

  E/AndroidRuntime(27426):  ... 11 more

  E/AndroidRuntime(27426): Caused by: android.os.TransactionTooLargeException

  E/AndroidRuntime(27426):  at android.os.BinderProxy.transact(Native Method)

  E/AndroidRuntime(27426):  at com.android.internal.appwidget.IAppWidgetService$Stub$Proxy.startListening(IAppWidgetService.java:382)

  E/AndroidRuntime(27426):  at android.appwidget.AppWidgetHost.startListening(AppWidgetHost.java:130)

  E/AndroidRuntime(27426):  ... 15 more

  W/ActivityManager( 3376):   Force finishing activity com.sample.core.launcher/.HomeActivity

  I/ActivityManager( 3376): Process com.sample.core.launcher (pid 27426) has died.

  I/ActivityManager( 3376): START {act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000000 cmp=com.sample.core.launcher/.HomeActivity u=0} from pid 0

由于

1 个答案:

答案 0 :(得分:0)

以下是为Google TV开发的开源启动器:https://github.com/entertailion/Open-Launcher-for-GTV

也许您可以安装此启动器并查看它是否以相同的方式运行。 Open Launcher不支持小部件,但它具有所有其他主启动器功能。