我们正在为 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
谢谢