【问题标题】:Existent app blowing up with android 3.0 XOOM. ZoomButtonsController Leak?现有的应用程序因 android 3.0 XOOM 而爆炸。 ZoomButtonsController 泄漏?
【发布时间】:2011-03-17 18:00:31
【问题描述】:

很遗憾,我没有 XOOM 设备,而且 3.0 模拟器不可能在最新的 2011 macbook pro 上运行。

我已要求其中一位用户向我发送错误日志,最奇怪的事情又回来了。许多错误日志!

现在,如果 SDK 级别为 11,我通过禁用此行来“解决”该问题:webSettings.setBuiltInZoomControls(true);

通过添加以下行看起来它可以工作,但我无法测试,因为我没有设备: webSettings.setDisplayZoomControls(true);

我只留下了这一行:webSettings.setSupportZoom(true),它不会影响设备。

当您使用 setDisplayZoomControls(true) 退出具有 WebView 的活动时会发生错误。

请告知,我有很多用户投诉。也欢迎任何解决方法。

以下是堆栈跟踪:

03-10 19:42:04.400 D/dalvikvm( 9132): GC_CONCURRENT freed 682K, 35% free 8749K/13383K, paused 7ms+3ms
03-10 19:42:08.630 D/BatteryService(  126): level:46 scale:100 status:4 health:2 present:true voltage: 7564 temperature: 271 technology: Li-ion AC powered:false USB powered:false icon:17302683 invalid charger:0
03-10 19:42:08.630 D/WifiService(  126): ACTION_BATTERY_CHANGED pluggedType: 0
03-10 19:42:14.370 D/dalvikvm( 2122): GC_EXPLICIT freed 2K, 5% free 6209K/6531K, paused 5ms+1ms
03-10 19:42:29.950 D/SurfaceFlinger(  126): screenshot: sw=216, sh=135, minZ=0, maxZ=21025
03-10 19:42:29.960 D/SurfaceFlinger(  126): screenshot: result = OK
03-10 19:42:29.990 D/craigsnotifica( 9132): reseting info ttl
03-10 19:42:30.280 D/craigsnotifica( 9132): closing details
03-10 19:42:30.290 D/webviewglue( 9132): nativeDestroy view: 0x3c8188
03-10 19:42:30.300 W/WindowManager(  126): Force-removing child win Window{40f20a38 Panel:com.mufumbo.craigslist.

notification.android/com.mufumbo.craigslist.notification.android.AnnounceDetails paused=false} from container Window{41544810 com.mufumbo.craigslist.notification.android/com.mufumbo.craigslist.notification.android.AnnounceDetails paused=false}
03-10 19:42:30.310 E/WindowManager( 9132): Activity com.mufumbo.craigslist.notification.android.AnnounceDetails has leaked window android.widget.ZoomButtonsController$Container@40960188 that was originally added here
03-10 19:42:30.310 E/WindowManager( 9132): android.view.WindowLeaked: Activity com.mufumbo.craigslist.notification.android.AnnounceDetails **has leaked window android.widget.ZoomButtonsController$Container@40960188 that was originally added here**
03-10 19:42:30.310 E/WindowManager( 9132): at android.view.ViewRoot.<init>(ViewRoot.java:276)
03-10 19:42:30.310 E/WindowManager( 9132): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:152)
03-10 19:42:30.310 E/WindowManager( 9132): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:95)
03-10 19:42:30.310 E/WindowManager( 9132): at android.view.Window$LocalWindowManager.addView(Window.java:514)
03-10 19:42:30.310 E/WindowManager( 9132): at android.widget.ZoomButtonsController.setVisible(ZoomButtonsController.java:371)
03-10 19:42:30.310 E/WindowManager( 9132): at android.webkit.ZoomControlEmbedded.show(ZoomControlEmbedded.java:41)
03-10 19:42:30.310 E/WindowManager( 9132): at android.webkit.ZoomManager.invokeZoomPicker(ZoomManager.java:999)
03-10 19:42:30.310 E/WindowManager( 9132): at android.webkit.WebView.startDrag(WebView.java:5990)
03-10 19:42:30.310 E/WindowManager( 9132): at android.webkit.WebView.handleTouchEventCommon(WebView.java:5626)
03-10 19:42:30.310 E/WindowManager( 9132): at android.webkit.WebView.onTouchEvent(WebView.java:5374)
03-10 19:42:30.310 E/WindowManager( 9132): at android.view.View.dispatchTouchEvent(View.java:4600)
03-10 19:42:30.310 E/WindowManager( 9132): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1488)
03-10 19:42:30.310 E/WindowManager( 9132): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1256)
03-10 19:42:30.310 E/WindowManager( 9132): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1494)
03-10 19:42:30.310 E/WindowManager( 9132): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1269)
03-10 19:42:30.310 E/WindowManager( 9132): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1494)
03-10 19:42:30.310 E/WindowManager( 9132): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1269)
03-10 19:42:30.310 E/WindowManager( 9132): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1494)
03-10 19:42:30.310 E/WindowManager( 9132): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1269)
03-10 19:42:30.310 E/WindowManager( 9132): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1494)
03-10 19:42:30.310 E/WindowManager( 9132): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1269)
03-10 19:42:30.310 E/WindowManager( 9132): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1494)
03-10 19:42:30.310 E/WindowManager( 9132): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1269)
03-10 19:42:30.310 E/WindowManager( 9132): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1700)
03-10 19:42:30.310 E/WindowManager( 9132): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1270)
03-10 19:42:30.310 E/WindowManager( 9132): at android.app.Activity.dispatchTouchEvent(Activity.java:2271)
03-10 19:42:30.310 E/WindowManager( 9132): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1680)
03-10 19:42:30.310 E/WindowManager( 9132): at android.view.ViewRoot.deliverPointerEvent(ViewRoot.java:2272)
03-10 19:42:30.310 E/WindowManager( 9132): at android.view.ViewRoot.handleMessage(ViewRoot.java:1958)
03-10 19:42:30.310 E/WindowManager( 9132): at android.os.Handler.dispatchMessage(Handler.java:99)
03-10 19:42:30.310 E/WindowManager( 9132): at android.os.Looper.loop(Looper.java:126)
03-10 19:42:30.310 E/WindowManager( 9132): at android.app.ActivityThread.main(ActivityThread.java:3997)
03-10 19:42:30.310 E/WindowManager( 9132): at java.lang.reflect.Method.invokeNative(Native Method)
03-10 19:42:30.310 E/WindowManager( 9132): at java.lang.reflect.Method.invoke(Method.java:491)
03-10 19:42:30.310 E/WindowManager( 9132): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
03-10 19:42:30.310 E/WindowManager( 9132): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
03-10 19:42:30.310 E/WindowManager( 9132): at dalvik.system.NativeStart.main(Native Method)
03-10 19:42:30.310 E/InputQueue-JNI( 9132): channel '40f20a38 Panel:com.mufumbo.craigslist.notification.android/com.mufumbo.craigslist.notification.android.AnnounceDetails (client)' ~ Publisher closed input channel or an error occurred.  events=0x8
03-10 19:42:30.310 W/WindowManager(  126): Failed looking up window
03-10 19:42:30.310 W/WindowManager(  126): java.lang.IllegalArgumentException: Requested window android.os.BinderProxy@41c303d8 does not exist
03-10 19:42:30.310 W/WindowManager(  126): at com.android.server.WindowManagerService.windowForClientLocked(WindowManagerService.java:9415)
03-10 19:42:30.310 W/WindowManager(  126): at com.android.server.WindowManagerService.windowForClientLocked(WindowManagerService.java:9406)
03-10 19:42:30.310 W/WindowManager(  126): at com.android.server.WindowManagerService.relayoutWindow(WindowManagerService.java:2777)
03-10 19:42:30.310 W/WindowManager(  126): at com.android.server.WindowManagerService$Session.relayout(WindowManagerService.java:6604)
03-10 19:42:30.310 W/WindowManager(  126): at android.view.IWindowSession$Stub.onTransact(IWindowSession.java:154)
03-10 19:42:30.310 W/WindowManager(  126): at com.android.server.WindowManagerService$Session.onTransact(WindowManagerService.java:6558)
03-10 19:42:30.310 W/WindowManager(  126): at android.os.Binder.execTransact(Binder.java:320)
03-10 19:42:30.310 W/WindowManager(  126): at dalvik.system.NativeStart.run(Native Method)
03-10 19:42:30.320 W/WindowManager(  126): Failed looking up window
03-10 19:42:30.320 W/WindowManager(  126): java.lang.IllegalArgumentException: Requested window android.os.BinderProxy@41c303d8 does not exist
03-10 19:42:30.320 W/WindowManager(  126): at com.android.server.WindowManagerService.windowForClientLocked(WindowManagerService.java:9415)
03-10 19:42:30.320 W/WindowManager(  126): at com.android.server.WindowManagerService.windowForClientLocked(WindowManagerService.java:9406)
03-10 19:42:30.320 W/WindowManager(  126): at com.android.server.WindowManagerService.removeWindow(WindowManagerService.java:2457)
03-10 19:42:30.320 W/WindowManager(  126): at com.android.server.WindowManagerService$Session.remove(WindowManagerService.java:6596)
03-10 19:42:30.320 W/WindowManager(  126): at android.view.IWindowSession$Stub.onTransact(IWindowSession.java:120)
03-10 19:42:30.320 W/WindowManager(  126): at com.android.server.WindowManagerService$Session.onTransact(WindowManagerService.java:6558)
03-10 19:42:30.320 W/WindowManager(  126): at android.os.Binder.execTransact(Binder.java:320)
03-10 19:42:30.320 W/WindowManager(  126): at com.android.server.SystemServer.init1(Native Method)
03-10 19:42:30.320 W/WindowManager(  126): at com.android.server.SystemServer.main(SystemServer.java:640)
03-10 19:42:30.320 W/WindowManager(  126): at java.lang.reflect.Method.invokeNative(Native Method)
03-10 19:42:30.320 W/WindowManager(  126): at java.lang.reflect.Method.invoke(Method.java:491)
03-10 19:42:30.320 W/WindowManager(  126): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
03-10 19:42:30.320 W/WindowManager(  126): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
03-10 19:42:30.320 W/WindowManager(  126): at dalvik.system.NativeStart.main(Native Method)
03-10 19:42:30.330 E/ActivityThread( 9132): Activity com.mufumbo.craigslist.notification.android.AnnounceDetails has leaked IntentReceiver android.widget.ZoomButtonsController$1@40a2db40 that was originally registered here. Are you missing a call to unregisterReceiver()?
03-10 19:42:30.330 E/ActivityThread( 9132): android.app.IntentReceiverLeaked: Activity com.mufumbo.craigslist.notification.android.AnnounceDetails has leaked IntentReceiver android.widget.ZoomButtonsController$1@40a2db40 that was originally registered here. Are you missing a call to unregisterReceiver()?
03-10 19:42:30.330 E/ActivityThread( 9132): at android.app.LoadedApk$ReceiverDispatcher.<init>(LoadedApk.java:751)
03-10 19:42:30.330 E/ActivityThread( 9132): at android.app.LoadedApk.getReceiverDispatcher(LoadedApk.java:558)
03-10 19:42:30.330 E/ActivityThread( 9132): at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:991)
03-10 19:42:30.330 E/ActivityThread( 9132): at android.app.ContextImpl.registerReceiver(ContextImpl.java:978)
03-10 19:42:30.330 E/ActivityThread( 9132): at android.app.ContextImpl.registerReceiver(ContextImpl.java:972)
03-10 19:42:30.330 E/ActivityThread( 9132): at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:341)
03-10 19:42:30.330 E/ActivityThread( 9132): at

..................

03-10 19:42:30.340 W/ActivityManager(  126): Unbind failed: could not find connection for android.os.BinderProxy@40c0d278
03-10 19:42:30.400 D/AndroidRuntime( 9132): Shutting down VM
03-10 19:42:30.400 W/dalvikvm( 9132): threadid=1: thread exiting with uncaught exception (group=0x40175760)
03-10 19:42:30.400 D/SurfaceFlinger(  126): screenshot: sw=216, sh=135, minZ=0, maxZ=21015
03-10 19:42:30.400 E/AndroidRuntime( 9132): FATAL EXCEPTION: main
03-10 19:42:30.400 E/AndroidRuntime( 9132): java.lang.IllegalArgumentException: Receiver not registered: android.widget.ZoomButtonsController$1@40a2db40
03-10 19:42:30.400 E/AndroidRuntime( 9132): at android.app.LoadedApk.forgetReceiverDispatcher(LoadedApk.java:619)
03-10 19:42:30.400 E/AndroidRuntime( 9132): at android.app.ContextImpl.unregisterReceiver(ContextImpl.java:1014)

【问题讨论】:

  • 查看link
  • 我相信这在 SDK 的最新版本中已修复,对吗?

标签: android android-emulator webview zooming android-webview


【解决方案1】:

通常,当您的应用崩溃时,会出现此窗口泄漏错误。

但是导致它崩溃的实际错误发生在抛出此错误之前。您之前是否在某处出现过其他错误?

【讨论】:

  • 发生崩溃,然后出现强制关闭窗口。我相信他们在 3.2 中修复了这个问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多