【重点讨论】优化Webview性能迫在眉睫

安卓Webview性能太差了,特别是在低端手机,渲染很差劲。如果这个问题解决了Hbuilder就无敌了。
希望可以考虑一下腾讯X5内核的Webview。
腾讯X5作为Android webview的优化,在很多性能上,的确改良了不少,但是对于h5的支持,我不得不在这里吐槽一下,为什么把大名鼎鼎的WebSocket给屏蔽没了,很是忧伤。

腾讯x5内核sdk:http://x5.tencent.com/
DebugGap调试腾讯X5内核webview:http://blog.csdn.net/liangmapi/article/details/43670315

如果还有其它的webview内核,欢迎大家跟贴讨论。

2015-08-12 18:54 1 条评论 分享
已邀请:

最佳回复

1

此问题是因为Android5初期的一批设备的webview有bug而造成阶段性问题。目前此问题已过期。在在nview和UniApp的加持下,性能问题已得到解决。无需引入三方webkit内核。问题关闭。
之前的回复如下:


虽然可以引入三方浏览器引擎,但对于我们而言,还是需要保证在os的webview下也没有问题。之后才会考虑引入三方引擎。
目前在android5上的问题,大部分已经解决,其他问题还在努力中。
至于低版本android上的问题,主要是浏览器兼容性问题,注意一下代码就可以避开。

在现有的webview上解决问题,是为了追求极致的大App开发商,他们不在意代码编写要多注意点什么,但非常在乎包的体积。引入三方引擎会增大数M的包体积,无法满足这些厂商的需求。比如目前360手机助手内置了5+ sdk,如果他们不会接受包体积变大数M;
而集成三方引擎比如crosswalk是为了图省事的开发者,比如很多toB的App,不那么在乎包体积,但希望开发方面快速。后记:crosswalk已经停止维护,intel已经放弃这个产品了,无需研究如何集成crosswalk了

4

chender - 与人为善

赞同来自: wenju 小龙哥 地图 江户川林柯南

@DCloud_heavensoft
王总,个人觉得,引入了第三方浏览器引擎后,”保证在os的webview下也没有问题“ 这件事情就没什么意义了吧;
webview的问题真的蛮多的,很多我都没有提,比如类似在a页面不引入mui.css会导致,a页面中打开的b页面出现闪屏这种诡异问题我都没提,一是之前的一些问题都还没解决,二是重现的环境比较复杂,没时间整理demo;
如果只是按照官方的demo什么的,做做简单的功能,相信官方要不了多少时间就能把大的问题解决了,满足用户的需求;
但是程序猿的智慧是无穷无尽的,如果用的人越来越多,使用方式错综复杂,那后期问题肯定会更多的;
官方android组的能力我不怀疑,但是有些事情真的不是程序猿能解决的,一个产品的成功,程序员占不了50%的权重,作为团队领导而言,压力固然是大的,但是不能因为惯性(惰性)而不舍得进行调整,作为创业公司,很少有一蹴而就的,走过弯路才算是正常的(我自己这边喝着西北风走过不少弯路,感觉这次又有点弯了。。);
忠言利耳利于行,算是建议,也算是感慨;

4

@DCloud_heavensoft
王总,安卓自带的webview错众复杂,乱象丛生,安卓4.4.x有些手机上也惨不忍睹。我的手机安卓4.2.x系统也有很多小问题,比如:二个webview隔久了没动手机,划动子webview父webview会白屏,还有原生的webview的canvas动画很卡但是x5内核很流畅,还用很多很多小问题。有些问题还不仅仅跟手机低端有关系,还跟手机自带的webview有关系。增在数M真的没关系,只要能运行流畅,现在一个app几十M也很正常,wifi和4G网络那么快,还在乎那几M吗?

DCloud这套系统的架构很好,每个页面单独用webview很先进,之前我用appcan的时候,虽然毛病一大堆都懒得提修改意见,因为知道他们那种架构注定没有什么希望,只能做做简单的app,但是DCloud不同,这种架构让我看到了H5替代原生的希望。

对于优化webview或者引入x5内核的问题上,希望官方可以三思,如果其它公司率先优化webview,将对DCloud是毁灭性的打击,哪怕其它方面的功能弱一些。

3

也是挺难为HBuilder的了,国产开源第一啊!!!
自从接触到Hbuilder后,开发工具就抛弃其他的了,Hybrid也抛弃其他的了!!

不过,还是有太多人希望引入第三方引擎,即使包增加几个M,也可以接受。

“追求极致的大App开发商” 他们应该没有勇气用hybrid,尤其需要适合众多机型时!
与其卡在性能上,还不如引入一款靠谱的第三方引擎,提升性能!

当性能相差不太大时,在开发速度和灵活上占明显优势的hybrid想必会非常受欢迎吧!!(纯属个人主见)

虽然,引入第三方包会增加体积,可是相比性能和开发速度、灵活度上,相信那些“追求极致的大App开发商”会做出取舍吧!!

毕竟,开发效率、成本都在这里摆着!

2

chender - 与人为善

赞同来自: hilongjw freedemon

不一定要用x5,如果人手不够就基于Webkit自己稍微二次优化一下,这样起码内核版本可以统一,问题就会少很多了

2

running - 生命不息,折腾不止

赞同来自: 枫桥居APP 786039294@qq.com

所以希望出几个版本,比如用户可以自主选择是否把crosswalk打包进入内核,让用户来选择

1

蔡繁荣 - 发表是最好的记忆

赞同来自: 江户川林柯南

+1,迫在眉睫!建议直接把腾讯X5的人挖过来

0

迷你云

赞同来自:

很是需要,+1

0

wenju - https://github.com/mescroll/mescroll.git -- 精致的下拉刷新和上拉加载js框架. 主流APP案例, 一套代码多端运行~ 问题咨询请发私信哈~

赞同来自:

急需哇 闪得眼睛都花了 挨批啊 老板说花差不多一个月整个不如原生的玩意~~(>_<)~~忧伤...

0

小龙哥

赞同来自:

原生的开发太慢了,如果Hbuilder团队把这个问题解决了,那很多原生的都会转h5

0

小龙哥

赞同来自:

希望官方能够重视起来,其它的真的很完美的。

0

wyinhe

赞同来自:

强烈支持,+1

0

liangyue

赞同来自:

表示关注

0

只为你搁浅

赞同来自:

强势围观,支持 +1
还有webview的动画也没有想象中那么流畅

0

小龙哥

赞同来自:

0

小龙哥

赞同来自:

0

x007xyz - 学习当中

赞同来自:

是啊,效率和机制存在问题。

0

移动app忠实者

赞同来自:

这个确实很好

0

小迟

赞同来自:

支持啊

0

枫桥居APP

赞同来自:

其实自己可以优化的,具体的看我下一版本的枫桥居app吧

0

玄凌

赞同来自:

赞同!!!希望可以做进去

0

chender - 与人为善

赞同来自:

现在一个界面数据量稍微有点大,拖动起来就会有明显的抖动;
官方的demo也一样;
就是那个chat页面,有四五十条数据后,锤子手机上拖动起来都会抖

0

小龙哥

赞同来自:

@枫桥 自己优化webview ?

0

蔡繁荣 - 发表是最好的记忆

赞同来自:

新版本Android优化了什么呢?
indexed list 索引列表,无论如何快速滑动,都不会出现白块。
但是iOS还是会出现白块!
Android性能竟然比iOS还高?感觉iOS快速拖动白块问题(渲染问题)看到了希望

0

蔡繁荣 - 发表是最好的记忆

赞同来自:

@chender Hello mui的示例城市索引列表是整个文档的拖动,不是div的。快速拖动Android平台不会出现白块,而iOS平台会出现白块。

0

chender - 与人为善

赞同来自:

@蔡繁荣 你说的就是机场列表,右侧带abcd那个吧,那个不是原生的滚动,你可以看一下dom结构,或者打印一下document.body的高度

0

枫桥居APP

赞同来自:

每次这么关键(革命性)的话题,官方人员都装死中,只留下我们这群小白在讨论。官方倒是表个态啊,能支持还是不能支持。我们没奢望能支持,但请官方给个准信儿。(当然我们是渴望能支持最新的webview的)

0

小龙哥

赞同来自:

@枫桥 官方也有官方的苦衷,他们人手不够是最大的苦衷,大家谅解一下。

0

枫桥居APP

赞同来自:

@小龙哥 我表示能理解,只是官方对用户的态度不够重视,大家讨论这么激烈,官方也不回应一下,我就不相信官方没看见这条内容.我也不相信官方10多秒回复的时间都没有.

0

chender - 与人为善

赞同来自:

0

hilongjw - cov

赞同来自:

建议统一一个webview版本,老android的webview实在是坑

0

小龙哥

赞同来自:

@枫桥 我明白你的意思,你是希望官方能给一个时间表,一年,二年都行。最起码大家都有一个盼头和希望。

0

小龙哥

赞同来自:

其实,主要是安卓方面问题比较多
官方暂时不整合优化的话,希望可以出一个安卓离线打包自行整合的教程,暂时扛一扛。

0

chender - 与人为善

赞同来自:

@小龙哥 两年黄花菜都凉了。。。这是很急的事情;
我当时把这套框架推荐给了一些朋友用,现在他们都放弃了,我也在纠结中

0

枫桥居APP

赞同来自:

@chender:我也打算先研究这原生app,其实原生app开发并没有想象那么难,无非就是拖几个控件过来,然后改吧改吧,java和oc语法也都能理解,只是刚开始开发会比较痛苦一点,但后面就会很爽.

不过我不会放弃hb,毕竟精力有限,暂时先这样

0

地图

赞同来自:

同样关注,集成第三方webview性能更好,大个10m,20m也无所谓的。不知道官方怎么会有这样的想法。

0

徐笨笨

赞同来自:

实在是不能忍,360在乎大小,所以你们就不在乎我们这么多用户的实际情况吗?现在项目正式上线了,用户投诉一塌糊涂,你让我们这些人怎么办?哪怕是出一个可选整合浏览器引擎的形式也可以啊。

0

DCloud_heavensoft

赞同来自:

目前的调查结果显示在Android5.0上的各种怪异问题基本都是硬件加速造成的。
如果大家有条件测试,可以在manifest里配置关闭硬件加速,然后打包,然后安装在Android5.0手机上看看效果。
下一步DCloud将提供统一不同平台硬件加速策略兼容的方案。

0

花笙科技

赞同来自:

真的是赶紧优化内核,大势所趋

0

我勒个去

赞同来自:

能否做到让客户自己选择呢,在乎包的选择现在的,不在乎的选择三方内核

0

maq

赞同来自:

看了前面 @DCloud_heavensoft: 的解释,完全能够理解。

不过问题还是在那里。系统版本差异产生了大大小小各种坑,有些诱人的新特性无法享受(比如 WebviewStyle 的 background:'transparent',多强大的特性啊,仅仅因为【Android 4.0以下系统窗口显示白色背景】而沦为鸡肋)。

时间已经过去了近半年,不知 DCloud 在这方面是否有所计划。作为一个【非大App开发商】,我其实也有着一定程度的“追求极致”的倾向,但经常被时间、人力、技术储备等方面的原因所裹挟,如果安装包增大数个 M 换来的是统一的、稳定的、较新的 webview 特性支持,我会非常乐于接受。

除了安装包体积之外,要支持“可替换的 webview 引擎内核”本身应该也是一个不小的工作量。官方也许有很多重要的事情等着去做,这个事情即便想做,也未必能排在前面,理解。我只是表达一下个人的想法:这个功能对于像我这样的广大的【非大App开发商】来说,绝对是排名第一的福音。最直接的效果就是,这个问答社区里近一半的问题可能根本就不会出现了。

下面这句话是在另一个网站上看到的:
Cordova 4.0 now supports Crosswalk pluggable webview!

0

汉中李

赞同来自:

做成可选是个好方案,支持+2

0

Runic

赞同来自:

感觉 和 IE 一样一样的,不兼容就是不给你完美解决方案,自行规避。呵呵脸

0

Jauns

赞同来自:

这个贴持来还是没人回应

0

786039294@qq.com

赞同来自:

开来使用Dcloud开发APP最终都会来这个帖子~~18年了,三年过去了看来集成是无望了~

0

bober

赞同来自:

dclound把你们忽略了。。

该问题目前已经被锁定, 无法添加新回复