cari

Rumah  >  Soal Jawab  >  teks badan

android - WebView偶尔无法加载,没有发起请求

webview有时候加载不出网页,页面关掉再打开也不行,显示一片空白。放着不动,过一会,反而能打开网页。

当加载不出的时候,发现根本没有发起请求。

有大神知道原因吗?

高洛峰高洛峰2887 hari yang lalu830

membalas semua(4)saya akan balas

  • 阿神

    阿神2017-04-17 17:50:28

    WebViewKawalan ini merupakan kawalan yang sangat penting dalam sistem Android, dan ia tidak akan menyebabkan situasi yang disebut oleh poster. Apa yang mungkin dilihat oleh poster asal ialah paparan permukaan.

    Apabila WebView daripada loadUrl(String url) dipanggil, WebView mula memuatkan halaman web, tetapi apabila ia tidak dimuatkan, ia masih akan memaparkan latar belakang putih asalnya Halaman web akan dipaparkan hanya selepas ia dimuatkan . Ini mungkin bermakna paparan menjadi kosong dan ia mengambil sedikit masa sebelum halaman web boleh dibuka. Malah, ia sentiasa dimuatkan, tetapi ia dimuatkan dengan perlahan dan anda tidak dapat melihat sebarang perubahan.

    Hos boleh menggunakan WebView.setWebViewClient untuk menghantar WebViewClient tersuai. Juga WebView.setWebChromeClient. Gantikan beberapa fungsi ini:

    webView.setWebViewClient(new WebViewClient() {
    
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            //页面开始加载
        }
    
        @Override
        public void onPageFinished(WebView view, String url) {
            //页面加载完毕
        }
    
        @Override
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
            //加载出现失败
            super.onReceivedError(view, errorCode, description, failingUrl);
        }
    
    });
    webView.setWebChromeClient(new WebChromeClient() {
    
        public void onProgressChanged(WebView view, int progress) {
            //加载过程回调,progress是接受到的数据的百分比
        }
    
    });
    

    Jika poster mengkonfigurasi WebView seperti di atas, maka dalam loadUrl(String url), anda boleh melihat panggilan balik fungsi ini. Kandungan dalam soalan boleh dijawab daripada Log.

    balas
    0
  • 天蓬老师

    天蓬老师2017-04-17 17:50:28

    1. Saya benar-benar menghadapi situasi ini semalam
    2. Analisis sebab: A. Saya cadangkan poster menggunakan Charles untuk menangkap paket

           B.我的原因:加载url的时候,一下子激增了ajax请求与图片请求
           C.我的解决方法:让前端的同学做一下分页加载以及懒加载,不要在打开url的瞬间发出那么多请求

    balas
    0
  • 巴扎黑

    巴扎黑2017-04-17 17:50:28

    Ini memang berlaku, saya juga pernah menemuinya, dan mendapati bahawa jika anda tidak memanggil wv_viewerweb.removeAllViews();
    // wv_viewerweb.destroy();
    // wv_viewerweb = null; masalah tidak akan wujud

    balas
    0
  • ringa_lee

    ringa_lee2017-04-17 17:50:28

    Adakah masalah selesai? ? ? Saya juga terjebak, tolong beri saya penyelesaian...

    balas
    0
  • Batalbalas