WebView ZoomButtonsController

Łuk*_*icz 9 android android-webview

在开发人员设置中启用"不要保持活动"选项时,我正在加载URL到webview,vWebView.getSettings().setBuiltInZoomControls(true);因此我遇到了问题.

WindowManager: android.view.WindowLeaked: Activity pl.izmajlowiczl.zoomcontrolls.MainActivity has leaked window android.widget.ZoomButtonsController$Container{21639342 V.E..... ......I. 0,0-432,73} that was originally added here (...)
Run Code Online (Sandbox Code Playgroud)

检查ZoomButtonsController代码后,我发现问题是在处理程序上发布延迟消息,该消息在一段时间后隐藏了缩放控件.

任何想法如何在我的视图破坏时从ZoomButtonsController的处理程序中删除消息?(这只是私人的)

或者任何其他想法如何解决?

ZoomButtonsController类有mHandler,它处理延迟的MSG_DISMISS_ZOOM_CONTROLS消息

Bis*_*kar 0

原因:当调用活动完成但缩放控件仍然可见时。

解决方案 1:使用捏合缩放

// make sure your pinch zoom is enabled
 webView.getSettings().setBuiltInZoomControls(true);

// don't show the zoom controls
 webView.getSettings().setDisplayZoomControls(false);
Run Code Online (Sandbox Code Playgroud)

Soution 2:将此添加到您的活动中:

  @Override
    public void finish() {
        ViewGroup view = (ViewGroup) getWindow().getDecorView();
        view.removeAllViews();
        super.finish();
    }
Run Code Online (Sandbox Code Playgroud)