为什么 Android 上内置浏览器(不是 Chrome)的性能很差?

论坛 期权论坛 留学     
匿名的用户   2019-6-1 20:18   7454   5
为什么做网络服务的 Google 却在 Android 上内置了性能那么差的浏览器?

Android 4.2 之前浏览器性能之垃圾开发者都是知道的啊, 可以看 Google Code 上 Chromium 的 issues
Stock browser is crap. The same web archive on the iPhone wipes the floor with even the most modern Android device. The Android team should hang their heads in shame.
(Android )自带的浏览器是个垃圾, iPhone 轻松干掉最新的 Android 设备。Android team 应该为此感到羞耻。
分享到 :
0 人收藏

5 个回复

倒序浏览
2#
热心的回应  16级独孤 | 2019-6-1 20:18:32
李楠的回答有误导之嫌。而且这是他自己的提的问题,自己的回答还很有广告嫌疑,这是要闹哪样?

关于Android内置浏览器,这里有两篇文章,基本能说明一些问题:
关于 Chrome for Android 你必须知道的 N 件事儿
http://www.oschina.net/news/22426/overview-html5-support-android/

为什么Android不使用chrome,因为android是开源的,chrome不是,要将chrome作为android浏览器,那么chrome必须开源。google已经表示会将chrome分阶段开源,所以未来android内置浏览器会是chrome——原来的chrome主管都接管Android部门了,这最能说明问题,不过接管是在前不久发生的,所以不会很快看到结果。

再来回答LZ的问题,Android的内置浏览器性能问题,首先,它使用了V8引擎(维基百科:Android 页面中查找V8), 其次,它支持部分HTML5,而且支持的部分也会越来越多,当然,与iOS相比是显得落后了些。

关于HTML5,目前围绕着H5的明争暗斗还很激烈,比如说在视频标准上,H265和webM之争,你能说谁对谁错?firefox在HTML5 audio中还不支持mp3呢,你要求一个浏览器现在把所有的HTML标准都支持了,那是不现实的。
3#
热心的回应  16级独孤 | 2019-6-1 20:18:33
刚给投票第一的同学答案找了几个bug,马上被屏蔽了,好吧,开个答案说

Chrome的开源实现Chromium是一直存在的,它的代码库也包括移动端的实现,Chromium项目也有详细的指导wiki  见 AndroidBuildInstructions 。我想说明的是Chromium的性能,兼容性,包括那位同学说的HTML5的实现都是跟chrome一致甚至有过之的,证据?

New Opera for android和Go Team的新浏览器Next Browser就是基于Chromium for Android实现,大家可以自己安装测试就能知道我所言非虚。
#核对了一下,Next Browser其实不是基于Chromium的,确认基于Chromium现在只有New Opera一款App,感谢评论指正

Chromium 和 Chrome 的区别只是在于是否集成了Google的一些同步服务,是问哪个厂家会把自己服务绑定一起开源?
桌面Chromium和Chrome的区别可以看这里 ChromiumBrowserVsGoogleChrome
Chromium for Android现在提供一个libchromeview.so的核心可供开发者调用。New Opera,Next Browser都是基于这个核心实现并合并了自己的上层UI逻辑。
“你也知道那玩意不能拼成chrome”
= = 呵呵

至于Meizu为什么不用这套代码来优化自己的浏览器甚至于还派一个代表在答案里反复强调Chrome不开源,我只能抱着最大恶意的揣测,不是揣着明白装糊涂就是真糊涂。

吐槽完毕,回归主题。
众所周知,Chrome和Android在Google属于完全不同的两个团队,而Android是收购来的项目,其原生浏览器是一个基于Webkit的实现,而Chrome长期耕耘于桌面领域,近些日子才开始在移动端发力。
我相信Chrome和Android迟早会融合的,Pichai同时负责两个部门可以看出一些端倪。为什么动作这么慢?我觉得原因有三:
  • 原生浏览器实现性能并非差到不可接受,很多Android用户都发现原生浏览器的流畅度其实比Chrome更好,js性能也可以接受,其最大的痛脚其实是对Html5等新标准的兼容。而相对Chrome因为构架决定,需要更多的内存,CPU资源才能达到相对流畅,这也是Chrome for Android开发时间并不长并没有得到充分优化导致的。原生浏览器相比Chrome更加适合现在Android的平均硬件水平。
  • 如上所说,HTML5新标准兼容是原生浏览器最大的问题,但放置于整个Android层面,这是不是一个问题?HTML5至今只是个草案,移动端开发其实还是以Native为主导,而且Google也为Native开发做了大量的优化工作,可以这么说,Android甚至于整个移动领域并没有走入HTML5时代。没有必要为了兼容HTML5强制推广Chrome。
  • Google其实并不是没有Chrome取代原生浏览器的尝试,比如Google几个亲儿子,反应出第三点。Chrome是包含了Google服务的,而Android和Google服务即GMS完全分离,Google是不能将闭源的Chrome相关实现加入Android code base。将来就算Chrome有可能进入Android的code base,也只能是以Chromium的形式,而或许以后某个版本会以Chromium为基准提供Webview控件供app调用,我相信这只是个时间问题而已。
4#
热心的回应  16级独孤 | 2019-6-1 20:18:34
原生浏览器是AOSP的一部分 ,chrome不是,如果安卓内置了chrome那么显然其他公司不会答应,因此只在nexus系列中chrome是内置的。

原生的浏览器和chrome是两个团队开发的,而且11年的时候google就宣布安卓部门要开始使用webkit、Chromium的代码了

更新 chrome lite也一开始就用了webkit
5#
热心的回应  16级独孤 | 2019-6-1 20:18:35
李楠的回答,其实并没有正面回答题主的问题。他只是说明了内置浏览器性能确实很差。但没有说明为什么。

事实上没有人知道 Google 为什么这么做,你只有去问 Google 决策层才可以知道。

从外人来分析,至少我可以说:这不是技术原因。

首先正面来说, android 之前的内置浏览器是不是性能很差?是的,确实如此,这一点作为一个靠谱的开发者不应当否认。

然后来说,为什么呢?我们可以考虑一下 android 诞生的年代以及历史。

我给的一个猜测是:android 之前的内置浏览器是面向性能很低的终端设计的,因为 Google 做 android 最初的一个目标就是要让这个世界上有更多的 android 设备,有更多的人能用愿意用并且用得起移动互联网。所以其实它面向的是低配置移动设备。——这个浏览器砍掉了很多特性,故而在 html5 兼容性方面,肯定是不如 chrome。

为什么苹果可以秒 android 浏览器,这个答案也很简单了,safari 只需要面对 iPhone,目标设备的性能不可能比 iPhone 更差,所以可以支持很完整的特性。

但是我们看到了,随着 android 的发展,其实 android 设备的性能越来越强劲了,所以,是时候 Google 该出手纠正这个错误了。Android 4.2 内置 chrome 显然是其动作之一。至于将来会不会让 webview 直接用 chrome,现在说不准,将来或许会,谁知道呢?

无论如何,作为谷粉一枚,这是一个 Google 的错误,并且是需要纠正的错误。
6#
热心的回应  16级独孤 | 2019-6-1 20:18:36
一个魅族无知工程师坏了不少人答题的兴致,好在楼上还是有强人hold住了场面~我随便补充一下

首先4.x之前几乎不存在什么统一的Android体验,浏览器也是如此,某些厂商比如三星的原生浏览器表现可圈可点,另一些比如MOTO就很糟糕,这点上无法一概而论。但仅就JavaScript跑分而言,谈不上落后(说实在的,就算在pc平台上html5跑分都缺乏意义),主要体现在加载网页的绝对速度上

使用Android浏览器缩放往往会有明显的卡顿,这才是很多人认为其糟糕的原因,决定这一点的是两平台的渲染方式,jb之前的Chrome lite(即原生浏览器)采用了即时渲染,而ios平台则使用截图渲染,两种方式互有优劣,但流畅性方面,显然是后者更强~所以jb之后(或者ics之后?记不清了)的浏览器采用了截图渲染,而jb之后的原生浏览器,口碑绝对是在臃肿的Chrome之上的

另外:Chromium是谷歌的开源项目,Chrome是其成果,但Chrome从来都不是开源的,Chromium的代码只有确认稳定性之后才会进入Chrome,但仅就性能而言,无疑Chromium是更强的,我使用的Chrome canary是最接近Chromium的Chrome,各项跑分都要比stable版强一截

手机答题,混乱之处请多包涵。。。
===================
补充两点:
1.上文完全没提到魅族浏览器如何,魅族浏览器应该也是基于chromelite的,我上面已经说了,jb之后的chrome lite体验强于chrome(Android自带的浏览器称为chrome lite,chrome for Android才是真正的chrome,这两个请分清楚),mx2浏览器的口碑我也早有耳闻,我没看明白这和我写的主题有什么关系。。。

2.一坨人吐槽我说上面那个工程师无知,却选择性无视了他斥责拥护原生浏览器者为“脑残粉”的言论,就算煤粉们受到机器所限无法尝试到谷歌原生jb浏览器的改进,从部分留言中也应该能看出来这个浏览器绝非一无是处,对“脑残粉”的攻讦反驳一句“无知”,我认为已经是足够理性而克制的行为了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:32080
帖子:6440
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP