android webview 应用启动太慢 做了一个android 应用,里面用一个webview 加载一个本地html。应用启动起来太慢了,要差不多10秒页面才加载起来,有什么方法能让应用启动的快一些吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在web视图中使用WebViewClient,并使用overrided方法并返回相应的“shouldOverrideUrlLoading”。 使用以下代码试试,会在webview中启用缓存,可能会改进页面的加载速度。WebSettings webSettings = getSettings(); webSettings.setPluginsEnabled(true); webSettings.setJavaScriptEnabled(true); webSettings.setDatabaseEnabled(true); webSettings.setDomStorageEnabled(true); webSettings.setAppCacheEnabled(true); webSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);这些代码片段是针对加载所有页面,如果你想单门加载本地页面,可以使用:AssetManager mgr = getContext().getAssets(); try { InputStream in = mgr.open(FileName,AssetManager.ACCESS_BUFFER); String sHTML = streamToString(in); in.close(); //display this html in the browser WebView w = (WebView) findViewById(R.id.webview); w.getSettings().setDefaultZoom(ZoomDensity.FAR); w.loadDataWithBaseURL("file:///android_asset/", sHTML, "text/html", "utf-8", null); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }public static String StreamToString(InputStream in) throws IOException { if(in == null) { return ""; } Writer writer = new StringWriter(); char[] buffer = new char[1024]; try { Reader reader = new BufferedReader(new InputStreamReader(in, "UTF-8")); int n; while ((n = reader.read(buffer)) != -1) { writer.write(buffer, 0, n); } } finally { } return writer.toString(); } 这些我都设置过了,没什么用途。我想要的是apk启动的速度,不是页面之间跳转的速度,分还是给你吧 androidpn推送客户端重连问题,求大虾帮忙看下 大家说:是在总部好,还是在分公司? android如何实现农历 关于调用android系统短信传递号码 Zxing-二维码扫描问题 在做android截屏项目,哪位大神有android编译后的源码? 【求教大神】android - adt22 - NoClassDefFoundError android怎么创建图片文件?? Android GridLayout 如何实现空白列 如何设置点击背景时可以将程序隐藏? 关于SQLiteTableLockedException 请教:QQ游戏大厅中游戏安装在内存卡的原理
WebSettings webSettings = getSettings();
webSettings.setPluginsEnabled(true);
webSettings.setJavaScriptEnabled(true);
webSettings.setDatabaseEnabled(true);
webSettings.setDomStorageEnabled(true);
webSettings.setAppCacheEnabled(true);
webSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
这些代码片段是针对加载所有页面,如果你想单门加载本地页面,可以使用:
AssetManager mgr = getContext().getAssets();
try {
InputStream in = mgr.open(FileName,AssetManager.ACCESS_BUFFER); String sHTML = streamToString(in);
in.close(); //display this html in the browser
WebView w = (WebView) findViewById(R.id.webview);
w.getSettings().setDefaultZoom(ZoomDensity.FAR);
w.loadDataWithBaseURL("file:///android_asset/", sHTML, "text/html", "utf-8", null); } catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}public static String StreamToString(InputStream in) throws IOException {
if(in == null) {
return "";
} Writer writer = new StringWriter();
char[] buffer = new char[1024]; try {
Reader reader = new BufferedReader(new InputStreamReader(in, "UTF-8")); int n;
while ((n = reader.read(buffer)) != -1) {
writer.write(buffer, 0, n);
} } finally { } return writer.toString();
}
这些我都设置过了,没什么用途。我想要的是apk启动的速度,不是页面之间跳转的速度,分还是给你吧