target-densitydpi = device-dpi 用了之后虽然 webview的分辨率==实际窗体的分辨率
但是整个html以及js交互超级卡??这是为什么?
target-density据说不推荐用,那android端的替代方案是什么?
怪我咯2017-04-17 16:32:42
楼主你好:
第一个问题:屏幕自适应问题
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
一般在 html 头信息里面,添加这样的 meta 可以达到自适应屏幕的效果,前提是你的 css 支持哦。
第二个问题:html 和 js 交互,在 android 里面卡顿。
在官方Android4.4(国内很多手机厂商,并没有按照google的版本来哦)以下版本,webview的内核还是使用的
WebKit
,这款内核的性能和新的内核(Chromium
)相比还是比较差的。但是一般来说,开启硬件加速会稍有改善。
// 在androidmanifest.xml 文件中添加如下代码。
<application android:hardwareAccelerated="true" ...>
注意:Android 硬件加速有好几种开启方式哦,点击这里
第三个问题:解决方案:
如果楼主想开发纯粹的 web app, 请使用新款手机。官方Android4.4之后内核Chromium
性能 biu biu biu 的上升了。
如果想支持低版本的 android, 可以尝试使用 cordova + crosswalk, 详情这里(ps: crosswalk的缺点也是有的哦)
ringa_lee2017-04-17 16:32:42
这个设置可以对加载进来的html自适应屏幕
settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);