cag*_*ide 3 android android-webview
嗨我在webchromeclient处理一些javascript警报后加载本地html文件,但在我调用webview的loadUrl方法后,我的本地html页面加载非常慢,它等待大约20秒加载.
这是我的代码如下:
@Override
public boolean onJsAlert(WebView view, String url, String message,
JsResult result) {
// TODO Auto-generated method stub
result.confirm();
if (message.contains(GeneralConstants.ALERT_LOGIN_TIMUSER)) {
String s[] = message.split(";");
//Set ldap user
view.loadUrl("file:///android_asset/mainMenu.html");
return true;
}
Run Code Online (Sandbox Code Playgroud)
谢谢你的建议.
尝试这段代码以获得更好的性能
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();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7547 次 |
| 最近记录: |