android webview 网络页面从本地(assets)加载js库

转载:http://www.ithao123.cn/content-572804.html


[摘要:项目中的碰到一面劣化题目,webview减载的页里比拟耗流量, 然则大局部的流量皆糟蹋正在了js战图片文件,若是把js库战素材文件放正在当地,能够大大俭省流量 script src = android.resource://]


目中的遇到一点优化问题,webview加载的页面比较耗流量,  但是大部分的流量都浪费在了js和图片文件,如果把js库和素材文件放在本地,可以大大节省流量

<script src="android.resource://com.example.sample/raw/js_script">

按照stackoverflow上的方法,把js放到raw文件夹中,但是试了很多遍都不太好用,只好换个思路

  
先把html全部网页获取,js放到asset,其中stringHtml是网页
String local = "file:///android_asset"; WV_View.loadDataWithBaseURL(local, stringHtml, "text/html", "utf-8",	null); 
 
网页中  <script><script type="text/javascript" src="file:///android_asset/xxx.js" /></script> 
解决问题,另外,网上还有种做法,既然已经解决就没试验
http://blog.csdn.net/cauchy8389/article/details/8616515 

用ContentProvider来读取文件。下面的代码示例来自于http://android-phpmanual.googlecode.com/svn

//LocalFileContentProvider.java

[java] view plaincopy
  1. package lu.mind.androidphpmanual;  
  2.   
  3. import java.io.File;  
  4. import java.io.FileNotFoundException;  
  5.   
  6. import android.content.ContentProvider;  
  7. import android.content.ContentValues;  
  8. import android.database.Cursor;  
  9. import android.net.Uri;  
  10. import android.os.ParcelFileDescriptor;  
  11.   
  12. public class LocalFileContentProvider extends ContentProvider {  
  13.     private static final String URI_PREFIX = "content://lu.mind.androidphpmanual";  
  14.   
  15.     public static String constructUri(String url) {  
  16.         Uri uri = Uri.parse(url);  
  17.         return uri.isAbsolute() ? url : URI_PREFIX + url;  
  18.     }  
  19.   
  20.     @Override  
  21.     public ParcelFileDescriptor openFile(Uri uri, String mode) throws FileNotFoundException {  
  22.         File file = new File(uri.getPath());  
  23.         ParcelFileDescriptor parcel = ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_ONLY);  
  24.         return parcel;  
  25.     }  
  26.  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值