Существующее приложение взрывается с Android 3.0 XOOM. ZoomButtonsController Leak? - PullRequest
4 голосов
/ 17 марта 2011

К сожалению, у меня нет устройства XOOM, а эмулятор 3.0 НЕВОЗМОЖЕН , чтобы работать даже на последнем MacBook Pro 2011 года.

Я попросил одного из пользователей прислать мне журналы ошибок, и самые странные вещи возвращаются. Много журналов ошибок!

Сейчас я «решил» проблему, отключив эту строку, если уровень SDK равен 11: webSettings.setBuiltInZoomControls (true);

Это выглядело как добавление следующей строки, это работало бы, но я не мог проверить, так как у меня нет устройства: webSettings.setDisplayZoomControls (истина);

Я оставил только эту строку: webSettings.setSupportZoom (true), которая не влияет на устройство.

Ошибки возникают при выходе из действия, имеющего WebView, с помощью setDisplayZoomControls (true).

Пожалуйста, посоветуйте, у меня много жалоб пользователей. Любой обходной путь тоже приветствуется.

Вот следы стека:

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)

1 Ответ

0 голосов
/ 09 ноября 2011

Обычно эта ошибка просочилась в окно при сбое вашего приложения.

Но фактическая ошибка, которая вызвала его сбой, случается до того, как эта ошибка выдается У вас есть какие-то другие ошибки, появляющиеся где-то раньше?

...