我编写了一个由几个本地HTML(文本和图像)组成的应用程序。我找到了一些相关的问题,但这不是重点,这是我的问题:
当我将这些文件加载到WebView时,它们不会顺利显示。加载内容之前似乎会有一些延迟。
这是我的一段代码:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ss);
WebView webView = (WebView)findViewById(R.id.web);
webView.loadUrl("file:///android_asset/2.2.html");
如何阻止这种情况发生?
答案 0 :(得分:0)
我认为以下效果最佳:
if (Build.VERSION.SDK_INT >= 19) {
webView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
}
else {
webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
Android 19为WebView提供了Chromium引擎。我猜它在硬件加速方面效果更好。
了解更多信息Android 4.4 KitKat, the browser and the Chrome WebView
Hardware Acceleration也是诀窍。您可以在应用程序的不同级别使用它
申请级别
<application android:hardwareAccelerated="true" ...>
活动级别
<application android:hardwareAccelerated="true">
<activity ... />
<activity android:hardwareAccelerated="false" />
</application>
窗口级别
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
查看级别
myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
希望这会有效..