WebView到底该使用loadUrl还是loadData

WebView加载数据有两种方式,一种是直接根据一个url来加载一个网页,另一种是只加载一段html文本,两种方法各有利弊。

如果是加载的html文本很简单,对排版的要求不高,那么使用loadData比较好,毕竟只是很省流量的方式,而且还可以将数据保存在本地,做离线缓存。

如果排版比较复杂,还是用loadUrl吧,虽然loadUrl需要消耗更多的流量,也不好做离线缓存,但是loadUrl充分发挥了webview的优势,试想如果用loadData这种方式,为什么不直接用TextView,TextView也可以支持有限的html标签,再自己扩展下,已经足够用了。

其实让我选择loadUrl的原因还有一个,那就是在使用loadData的时候遇到了渲染的问题,字体有时候看起来很小。

但是使用loadUrl需要特别注意里面的链接的问题,当点击一个链接的时候,默认会让浏览器来打开这个链接,可以通过如下代码来让链接在WebView中打开。

    mWebView.setWebViewClient(new WebViewClient() {      
          @Override      
          public boolean shouldOverrideUrlLoading(WebView view, String url)      
          {     
            view.loadUrl(url);      
            return true;      
          }      
    });

当然使用loadData也许并没有我说的那么不堪,也可能是我自己的水平问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这篇博客主要来介绍 WebView 的相关使用方法,常见的几个漏洞,开发中可能遇到的坑和最后解决相应漏洞的源码,以...
    Shawn_Dut阅读 12,052评论 3 55
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,079评论 25 709
  • 0. 前言 前面有被用户投诉 APP 流量消耗厉害: 于是乎考虑了流量方面的问题。暂时 APP 中涉及流量的几个方...
    zyl06阅读 24,364评论 5 63
  • WebView·开车指南 2016-08-31BugDev 北京市东城区首席Bug布道师开山之作,一整月交通事故血...
    53c021c38a1d阅读 4,274评论 0 1
  • 从小就喜欢猫,养过许多只,但凡是见到有猫咪图案的东西都要多留意几眼,有时觉得我并不了解他们,实在善变且神秘,但就是...
    石头石头石头石头阅读 2,187评论 0 0