android webview 屏幕适应问题

发布于 2022-09-02 12:38:39 字数 148 浏览 16 评论 0

target-densitydpi = device-dpi 用了之后虽然 webview的分辨率==实际窗体的分辨率

但是整个html以及js交互超级卡??这是为什么?

target-density据说不推荐用,那android端的替代方案是什么?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

爱情眠于流年 2022-09-09 12:38:39

楼主你好:

第一个问题:屏幕自适应问题

<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的缺点也是有的哦)

分分钟 2022-09-09 12:38:39

这个设置可以对加载进来的html自适应屏幕
settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);

叫嚣ゝ 2022-09-09 12:38:39

用rem来写样式呗

夏见 2022-09-09 12:38:39

<meta name="viewport" content="width=device-width, initial-scale=1" />

许久 2022-09-09 12:38:39

你这个是用来限制什么呢

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文