转载: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
- package lu.mind.androidphpmanual;
- import java.io.File;
- import java.io.FileNotFoundException;
- import android.content.ContentProvider;
- import android.content.ContentValues;
- import android.database.Cursor;
- import android.net.Uri;
- import android.os.ParcelFileDescriptor;
- public class LocalFileContentProvider extends ContentProvider {
- private static final String URI_PREFIX = "content://lu.mind.androidphpmanual";
- public static String constructUri(String url) {
- Uri uri = Uri.parse(url);
- return uri.isAbsolute() ? url : URI_PREFIX + url;
- }
- @Override
- public ParcelFileDescriptor openFile(Uri uri, String mode) throws FileNotFoundException {
- File file = new File(uri.getPath());
- ParcelFileDescriptor parcel = ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_ONLY);
- return parcel;
- }