在应用程序内使用 html+jquery 的 Android webview 有时会挂起
Posted
技术标签:
【中文标题】在应用程序内使用 html+jquery 的 Android webview 有时会挂起【英文标题】:Android webview using html+jquery inside app hangs sometimes 【发布时间】:2014-12-24 19:46:59 【问题描述】:我使用 webview 制作了 html+jquery 移动应用程序,我的所有代码都在 assest 文件夹中,我注意到有时我的应用程序挂起,有时它工作正常,如果我遗漏了一些东西
下面是android java代码
我制作了 html +jquery 应用程序,应用程序大部分时间都挂起,有时它可以通过任何方式使其正常工作
以下问题:
1:画布中的某些时间对象被重复,但是在任何画布上获取重复对象都没有变化,此问题仅在android浏览器中发生
2: 有时在拖动对象时会卡在任何地方而不会仅在 android 浏览器中被拖放到画布中 下面是我的java代码
public class MainActivity extends Activity implements OnClickListener
private static final String URL = "file:///android_asset/index.html";
private WebView mWebView;
@SuppressLint("SetjavascriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebChromeClient(new WebChromeClient());
mWebView.setWebViewClient(new WebViewClient()
);
refreshWebView();
private void refreshWebView()
mWebView.loadUrl(URL);
@Override
public void onClick(View v)
refreshWebView();
我在 assest 文件夹中使用的 html 代码如下链接
http://liveweave.com/JckSgC
【问题讨论】:
【参考方案1】:我在 6 个月前遇到了这个错误。在对这个主题进行了大量研究之后,我个人得出结论,这是一个 android 的 API 错误,该错误已在 API 级别 18(KITKAT) 中得到修复。
这意味着,“如果应用程序在低于 Kitkat 的 android 版本上运行,webview 会开始挂起或疯狂运行”
原因:
Android 版本低于 KITKAT 的 WebView 不支持 HTML5 和 CSS3。 http://www.mobilexweb.com/blog/android-4-4-kitkat-browser-chrome-webview建议:
您可以使用外部网络视图,例如“ChromiumWebView” (ChromiumWebView链接https://github.com/pwnall/chromeview) 或者您可以限制您的应用程序仅在高于或等于 KITKAT 的 android 版本上运行。 (我个人不喜欢这个)【讨论】:
以上是关于在应用程序内使用 html+jquery 的 Android webview 有时会挂起的主要内容,如果未能解决你的问题,请参考以下文章