1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          systemwebview啟用(在Android中使用webview時需要注意哪些事項)

          來源:互聯網轉載 時間:2024-05-12 02:34:59

          1、展示webview的activity可以另開一個進程,這樣就能和我們app的主進程分開了,即使webview產生了oom崩潰等問題也不會影響到主程序,如何實現呢,其實很簡單,在androidmanifest.xml的activity標簽里加上android:process="packagename.web"就可以了。運行起來就會發現多了一個進程,哈哈。

          2、webview的創建也是有技巧的,最好不要在layout.xml中使用webview,可以通過一個viewgroup容器,使用代碼動態往容器里addview(webview) ,這樣可以在onDestory()里銷毀掉webview及時清理內存,另外需要注意創建webview需要使用applicationContext而不是activity的context,銷毀時不再占有activity對象,這個大家應該都知道了,最后離開的時候需要及時銷毀webview,onDestory()中應該先從viewgroup中remove掉webview,再調用webview.removeAllViews();webview.destory();

          創建

          ll=newLinearLayout(getApplicationContext());ll.setOrientation(LinearLayout.VERTICAL);wv=newWebView(getApplicationContext());

          銷毀

          @OverriderotectedvoidonDestroy(){ll.removeAllViews();wv.stopLoading();wv.removeAllViews();wv.destroy();wv=null;ll=null;super.onDestroy();

          3、進一步的優化,activity被動被殺之后,最好能夠保存webview狀態,這樣用戶下次打開時就看到之前的狀態了,嗯,就這么干,webview支持saveState(bundle)restoreState(bundle)方法,所以就簡單了,哈哈,看看代碼吧:

          保存狀態:

          @OverrideprotectedvoidonSaveInstanceState(BundleoutState){super.onSaveInstanceState(outState);wv.saveState(outState);Log.e(TAG,"savestate...");}

          恢復狀態:

          在activity的onCreate(bundle savedInstanceState)里,這么吊用:

          if(null!=savedInstanceState){wv.restoreState(savedInstanceState);Log.i(TAG,"restorestate");}else{wv.loadUrl("http://3g.cn");}

          再總結幾個坑

          WebViewClient.onPageFinished() 。你永遠無法確定當WebView調用這個方法的時候,網頁內容是否真的加載完畢了。當前正在加載的網頁產生跳轉的時候這個方法可能會被多次調用,StackOverflow上有比較具體的解釋(How to listen for a Webview finishing loading a URL in Android?), 但其中列舉的解決方法并不完美。所以當你的WebView需要加載各種各樣的網頁并且需要在頁面加載完成時采取一些操作的話,可能WebChromeClient.onProgressChanged()WebViewClient.onPageFinished()都要靠譜一些。

          WebView后臺耗電問題。當你的程序調用了WebView加載網頁,WebView會自己開啟一些線程(?),如果你沒有正確地將WebView銷毀的話,這些殘余的線程(?)會一直在后臺運行,由此導致你的應用程序耗電量居高不下。對此我采用的處理方式比較偷懶,簡單又粗暴(不建議),即在Activity.onDestroy()中直接調用System.exit(0) ,使得應用程序完全被移出虛擬機,這樣就不會有任何問題了。

          切換WebView閃屏問題。如果你需要在同一個ViewGroup中來回切換不同的WebView(包含了不同的網頁內容)的話,你就會發現閃屏是不可避免的。這應該是Android硬件加速的Bug,如果關閉硬件加速這種情況會好很多,但無法獲得很好的瀏覽體驗,你會感覺網頁滑動的時候一卡一卡的,不跟手。

          數據積累問題。開啟緩存什么的有利于網頁的瀏覽體驗,但你會發現即使是清除了必要的內容,比如Cache、Cookie、Form Data、History、Password等等東西,你的應用程序所占用的存儲空間還是會越來越大,到最后只好手動到系統設置的應用信息界面里清除數據了 :(

          滾動條問題。Android System WebView的橫向滾動條真是好粗的有木有...

          在某些手機上,Webview有視頻時,activity銷毀后,視頻資源沒有被銷毀,甚至還能聽到在后臺播放。即便是像剛才那樣各種銷毀webview也無濟于事,解決辦法:在onDestory之前修改url為空地址。是不是很坑?

          Android是什么

          Android是一種基于Linux內核的自由及開放源代碼的操作系統,主要使用于移動設備,如智能手機和平板電腦,由美國Google公司和開放手機聯盟領導及開發。

          關于在Android中使用webview時需要注意哪些事項問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注本站行業資訊頻道了解更多相關知識。

          c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...

          2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...

          :喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...

          雙匯接班人的權力游戲是什么?8月12日,萬洲國際披露,萬隆已辭去CEO職務,萬宏偉當選為執行董事、董事會副主席。在6月份突然被廢黜之前,萬洪建在這個位置上穩坐了三年,一度被認為是“萬氏帝國的第二代接班人”。53年前,萬隆加入雙匯前身河南省漯河市肉類聯合加工廠,并于1984年成為該廠總經理;1992年2月,工廠生產出第一條“雙匯”牌火腿腸;1998年1...

          開通花唄有風險嗎?開通花唄是沒有風險的,其本質是個人小額貸款服務,主要依托于各種消費場景。用戶在開通花唄時,假如頁面跳轉到了人臉識別,則需要用戶完成人臉識別后才可以開通花唄。開通花唄是好還是不好?有利的方面:與很多信貸產品相比較,花唄支持的場景幾乎是最全面的,不僅包括支付寶本身的購物商城,小到日常生活中比如買早餐等都是可以進行支付的,很多平臺的產品基本上都不能做到;其次花唄使用是沒有費用的,除了用...

          3月21日,本月LPR報價出爐!2022年3月21日貸款市場報價利率(LPR)為:1年期LPR為3.7%,5年期以上LPR為4.6%,均維持前值不變。2022 年2 月21 日貸款市場報價利率(LPR)為:1 年期LPR 為3.70%,此前為3.70%,5 年期以上LPR 為4.60%,此前為4.60%。此前,2021 年12 月和2022 年1 月,1 年期LPR 連續兩個月下降,分別下降了5 ...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>