国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Android問題筆記十四:解決WebView白屏空白的九種方案,AutoSize?

這篇具有很好參考價值的文章主要介紹了Android問題筆記十四:解決WebView白屏空白的九種方案,AutoSize?。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

專欄分享
  • 點擊跳轉(zhuǎn)=>Unity3D特效百例
  • 點擊跳轉(zhuǎn)=>案例項目實戰(zhàn)源碼
  • 點擊跳轉(zhuǎn)=>游戲腳本-輔助自動化
  • 點擊跳轉(zhuǎn)=>Android控件全解手冊
  • 點擊跳轉(zhuǎn)=>Scratch編程案例
  • 點擊跳轉(zhuǎn)=>軟考全系列

??關(guān)于作者

眾所周知,人生是一個漫長的流程,不斷克服困難,不斷反思前進(jìn)的過程。在這個過程中會產(chǎn)生很多對于人生的質(zhì)疑和思考,于是我決定將自己的思考,經(jīng)驗和故事全部分享出來,以此尋找共鳴 ?。?!
專注于Android/Unity和各種游戲開發(fā)技巧,以及各種資源分享(網(wǎng)站、工具、素材、源碼、游戲等)
有什么需要歡迎私我,交流群讓學(xué)習(xí)不再孤單

android webview 白屏,Android-Unity實戰(zhàn)問題匯總,android,webview,java,bug

??實踐過程

??情況一

比如我第一個要說的就是你項目如果集成了AutoSize的話,并且使用了副單位,會有一定概率webview里面適配失效,注意失效后會因為單位特別大等原因看起來是白屏(其實是超出了可視范圍導(dǎo)致看不見了而已),你還需要適配下即可。繼承下webview,復(fù)寫setOverScrollMode方法,里面設(shè)置AutoSize即可。我在這一塊吃了很大的一個虧。氣死了。

class YourWebView : WebView { 
  constructor(context: Context) : super(context) { 
   }
    constructor(context: Context, attrs: AttributeSet) : super(context, attrs) { 
   }
    override fun setOverScrollMode(mode: Int) { 
        super.setOverScrollMode(mode)
        AutoSize.autoConvertDensityOfGlobal(context as Activity)
    }
}

??情況二

其實只要你百度基本都能發(fā)現(xiàn),最多的就是setDomStorageEnabled屬性設(shè)置為true來解決。
其實確實是這樣。但是我們要有一個概念,白屏不一定是webview的原因,還有可能是其他的原因,比如上面的AutoSize。
HTML5 的 DOM Storage 機(jī)制提供了一種方式讓程序員能夠把信息存儲到本地的計算機(jī)上,在需要時獲取。這點和 cookie 相似,區(qū)別是 DOM Storage 提供了更大容量的存儲空間。
localStorage 對象和 sessionStorage 對象使用方法基本相同,它們的區(qū)別在于作用的范圍不同。sessionStorage 用來存儲與頁面相關(guān)的數(shù)據(jù),它在頁面關(guān)閉后無法使用。而 localStorage 則持久存在,在頁面關(guān)閉后也可以使用。

??情況三

本身html就有bug,別不信,遇到好幾次了。前端同事在他那跑起來沒問題,可隨時Android運行就是不行,后來一點發(fā)現(xiàn)直接在瀏覽器運行就有問題。前端同事很有可能在開發(fā)環(huán)境下沒事,發(fā)布出來就有毛病了,或者是從大模塊里摘出來的小模塊,大模塊下運行著沒事,小模塊摘出來沒弄好導(dǎo)致問題。

??情況四

合理適時的清理webview的緩存,以及webview頁面關(guān)閉硬件加速。平時工作中和前端交流也是,他們說的最多的就是緩存問題,web遇見bug或問題,說瀏覽器或緩存的問題,刷新下就好了。挺魔幻的。

// 清緩存和記錄,緩存引起的白屏
mWebView.clearCache(true);
mWebView.clearHistory();
//... 有很多clear的方法

??情況五

https的問題,當(dāng)load通過SSL加密的HTTPS頁面時,如果這個頁面的安全證書無法得到認(rèn)證,WebView就會顯示成空白頁。比如出現(xiàn)Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https。
這個是開啟相關(guān)設(shè)置即可。
通過重寫WebViewClient的onReceivedSslError方法來接受所有網(wǎng)站的證書,忽略SSL錯誤。

  @Override
  public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
       handler.proceed();
       super.onReceivedSslError(view, handler, error);
   }
webSetting.setAllowUniversalAccessFromFileURLs(true);

??情況六

在Android 5.0之后,WebView默認(rèn)不允許Https + Http的混合使用方式,所以當(dāng)Url是Https的,圖片資源是Http時,導(dǎo)致頁面加載失敗。需要設(shè)置 MixedContentMode屬性允許Https+Http混用。

WebSettings wetSettings = webView.getSettings();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    wetSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}

??情況七

多android版本兼容問題,在Android7.0+,打開二級頁面跳轉(zhuǎn)的時候,會出現(xiàn)空白?。≡蚴遣煌姹镜南到y(tǒng)WebViewClient的回調(diào)里shouldOverrideUrlLoading方法的loadurl不一定是地址,也有可能是對象。

WebViewClient client = new WebViewClient() {
    //防止加載網(wǎng)頁時調(diào)起系統(tǒng)瀏覽器
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            view.loadUrl(request.getUrl().toString());
        } else {
            view.loadUrl(request.toString());
        }
        return true;
    }
   //.......
};

??情況八

如果上面都不行,一般就是自己做更深的檢測了。思路是:

  1. 截取當(dāng)前屏幕的內(nèi)容,獲得Bitmap
  2. 判斷Bitmap是否為白色圖片
  3. 針對白屏做相應(yīng)的處理

可參考:https://juejin.cn/post/6972901939197509669

??情況九

事實證明高級語言,什么框架啊,前沿技術(shù)啊,都有很多的坑,兼容問題,他們的表現(xiàn)在某方面可能好但并不是全部適用。如果你是領(lǐng)導(dǎo),且是以出產(chǎn)品為目的,挺推薦約束同事就用原生的開發(fā),漸漸的累積起來后續(xù)開發(fā)會越來越快。

??其他

??作者:小空和小芝中的小空
??轉(zhuǎn)載說明-務(wù)必注明來源:https://zhima.blog.csdn.net/
??這位道友請留步??,我觀你氣度不凡,談吐間隱隱有王者霸氣??,日后定有一番大作為???。?!旁邊有點贊??收藏??今日傳你,點了吧,未來你成功??,我分文不取,若不成功??,也好回來找我。

溫馨提示點擊下方卡片獲取更多意想不到的資源。
android webview 白屏,Android-Unity實戰(zhàn)問題匯總,android,webview,java,bug文章來源地址http://www.zghlxwxcb.cn/news/detail-735435.html

到了這里,關(guān)于Android問題筆記十四:解決WebView白屏空白的九種方案,AutoSize?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 解決Mac系統(tǒng)android monitor啟動時卡住,顯示白屏的問題

    解決Mac系統(tǒng)android monitor啟動時卡住,顯示白屏的問題

    清安裝1.8版本的jdk,java1.8版本以上不支持android monitor;如果你電腦上安裝有java 11等高級別的版本,請自行搜索,如果在mac上安裝多jdk,以及如何切換到1.8版本上 請更新SWT插件,下載地址; 1.打開網(wǎng)頁,點擊4.9 跳轉(zhuǎn)到另外的網(wǎng)頁 ?2.跳轉(zhuǎn)到的網(wǎng)頁如下所示意 ? 3. 點擊下載此版

    2024年02月12日
    瀏覽(29)
  • 解決Electron中WebView加載部分HTTPS頁面白屏的方法

    Electron是一個開源的桌面應(yīng)用程序框架,它允許使用Web技術(shù)構(gòu)建跨平臺的桌面應(yīng)用。在Electron應(yīng)用中, WebView 是一個常用的組件,用于嵌套加載Web內(nèi)容。然而,有時候在加載使用 HTTPS 協(xié)議的頁面時,可能會因為證書問題導(dǎo)致白屏現(xiàn)象。 問題描述: 當(dāng) WebView 嘗試加載某些 HTTP

    2024年02月02日
    瀏覽(36)
  • 已解決:安卓自帶的webview加載前端h5項目白屏?xí)r長嚴(yán)重,vue首頁加載白屏?xí)r間過長,那我讓app進(jìn)入的時候就提前加載網(wǎng)頁

    自己寫的vue項目,自己寫的安卓殼子,本來自己覺得慢,忍忍就過去了,但是人家覺得慢,你不得改么?結(jié)果是前端自己開發(fā),安卓也自己開發(fā),想甩個鍋都沒法甩,總不能甩給后端吧?哈哈哈 描述一下我的情況,我寫了一個vue項目,需要嵌在安卓里運行,沒想到安卓webvi

    2024年02月03日
    瀏覽(23)
  • Android問題筆記三十四:Android Studio編譯報錯:2 files found with path.....

    Android問題筆記三十四:Android Studio編譯報錯:2 files found with path.....

    點擊跳轉(zhuǎn)=Unity3D特效百例 點擊跳轉(zhuǎn)=案例項目實戰(zhàn)源碼 點擊跳轉(zhuǎn)=游戲腳本-輔助自動化 點擊跳轉(zhuǎn)=Android控件全解手冊 點擊跳轉(zhuǎn)=Scratch編程案例 點擊跳轉(zhuǎn)=軟考全系列 專注于 Android/Unity 和各種游戲開發(fā)技巧,以及 各種資源分享 (網(wǎng)站、工具、素材、源碼、游戲等) 有什么需要歡

    2024年02月07日
    瀏覽(25)
  • Android WebView H5視頻播放實現(xiàn)全屏播放功能、全屏按鈕不顯示、灰顯、點擊無效問題解決方案

    打開硬件加速(3.0以上版本支持) set一個WebChromClient,實現(xiàn)onShowCustomView() 方法和onHideCustomView()方法 全屏支持 打開硬件加速 在Manifest中,對應(yīng)的Activity添加: android:hardwareAccelerated = “true”。 防止h5重新加載:Manifest中,對應(yīng)的Activity添加: android:configChanges=“keyboardHidden|orientation|s

    2024年02月09日
    瀏覽(27)
  • android Webview組件 跨域問題

    android Webview組件 跨域問題

    (1)使用Android webView訪問html頁面,碰到ajax跨域訪問時,僅僅在header中加入 (2)無法解決跨域訪問問題,可以給webview設(shè)置下面配置

    2024年02月15日
    瀏覽(20)
  • flutter-設(shè)置開屏頁 解決開屏白屏問題

    當(dāng)您的應(yīng)用程序打開時,本機(jī)應(yīng)用程序會短暫加載 Flutter。默認(rèn)情況下,在此期間,本機(jī)應(yīng)用程序會顯示白色啟動屏幕。該包自動生成 iOS、Android 和 Web 本機(jī)代碼,用于自定義本機(jī)啟動畫面背景顏色和啟動圖像。支持深色模式、全屏和特定于平臺的選項。 因為我不需要使用到

    2024年02月12日
    瀏覽(14)
  • 關(guān)于解決一些游戲白屏但是有聲音問題的方法

    關(guān)于解決一些游戲白屏但是有聲音問題的方法

    這篇文章主要是關(guān)于解決一些游戲打開白屏方法的建議 首先來講一下白屏的原因,主要原因基本就是顯卡不支持你所運行的游戲的圖像功能或者有一些把顯卡驅(qū)動給卸載了(當(dāng)然還有一些比較離譜的像是顯卡沒插好,或者買到假顯卡等等。。。。。。)。 解決方案 首先先按

    2024年02月09日
    瀏覽(42)
  • 【VUE】解決圖片視頻加載緩慢/首屏加載白屏的問題

    【VUE】解決圖片視頻加載緩慢/首屏加載白屏的問題

    ? 在 Vue3 項目中,有時候會出現(xiàn)圖片視頻加載緩慢、首屏加載白屏的問題 通常是由以下原因?qū)е碌模?圖片或視頻格式不當(dāng):如果圖片或視頻格式選擇不當(dāng),比如選擇了無損壓縮格式,可能會導(dǎo)致文件大小過大,從而影響加載速度。 頁面中同時加載了大量的圖片和視頻,導(dǎo)致

    2024年02月16日
    瀏覽(21)
  • 電腦啟動后出現(xiàn)白屏問題的可能原因及解決方案

    電腦開機(jī)后出現(xiàn)白屏問題是一種常見的故障,可能由多種原因引起。在本文中,我將介紹一些可能的原因,并提供相應(yīng)的解決方案,以幫助您解決這個問題。 顯示器故障:首先,檢查顯示器是否正常工作。可以嘗試連接另一個顯示器或電視,看看是否仍然出現(xiàn)白屏問題。如果

    2024年02月04日
    瀏覽(50)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包