gpt4 book ai didi

AppWidgetManager.updateAppWidget 中的 android.os.TransactionTooLargeException

转载 作者:太空宇宙 更新时间:2023-11-03 11:13:54 29 4
gpt4 key购买 nike

我从小部件用户那里收到有关 android.os.TransactionTooLargeException 的报告:

android.os.TransactionTooLargeException
android.os.BinderProxy.transact(Native Method)
com.android.internal.appwidget.IAppWidgetService$Stub$Proxy.updateAppWidgetIds(IAppWidgetService.java:611)
android.appwidget.AppWidgetManager.updateAppWidget(AppWidgetManager.java:378)
android.appwidget.AppWidgetManager.updateAppWidget(AppWidgetManager.java:445)
com.alonedroid.ooswitcher.animationRunnable.run(ProvidersShared.java:1804)
java.lang.Thread.run(Thread.java:841)

当我尝试在单独的线程中更新我的小部件时发生该异常通过 AppWidgetManager.updateAppWidget(widget_id, RemoteView)。我阅读了有关 TransactionTooLargeException 的文档,首先,我认为 - 这是因为 RemoteViews 实例的大小。所以我开始在我的 RemoteViews 实例中设置更多布局,但从未在我的设备上看到这个错误。

是否有人也遇到过这个问题,甚至可能解决了它?以及如何重现该错误以调试应用程序?

最佳答案

查看 RemoteViews 的实现,如果在单个 RemoteViews 实例上完成太多操作,似乎会发生这种情况。

例如,使用相同的参数调用 setTextViewText 1000 次将向 RemoteView 添加 1000 次操作,这些操作必须跨进程传输并作为更新应用。

确保相同的 RemoteViews 对象不被重复用于大量操作似乎可以解决这个问题。

关于AppWidgetManager.updateAppWidget 中的 android.os.TransactionTooLargeException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20141764/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com