为什么android应用运行起来,比ios应用慢
博客专区 > treebug 的博客 > 博客详情
为什么android应用运行起来,比ios应用慢
treebug 发表于3年前
为什么android应用运行起来,比ios应用慢
  • 发表于 3年前
  • 阅读 648
  • 收藏 2
  • 点赞 0
  • 评论 8

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: 为什么android应用在手机上运行很慢,反应给人的感觉也很慢。iso应用似乎会快那么一些的样子?这其中一个大的因素是:java有一个jvm然后是linux。

    java语言号称跨平台,这不能算是语言特性,而是中间添加的jvm的原因。正式这个jvm,导致java应用运行会很慢,虽然一直努力提升性能,但是至少现今来讲,不可能会比c/c++,object-c更快。并且,提升性能的方面,大部分是代码生成了类似c这样的目标代码样子,然后保留,继而以后的每次运行都直接使用。

    如果改变android架构的结构,将会有巨大性能提升吧。java路线是良好的分离:机器问题与现实问题。c语言给出的是基于机器特性来解决现实问题,是需要面对机器的各类问题。

共有 人打赏支持
粉丝 4
博文 40
码字总数 11794
评论 (8)
noprom
苦海
肖滔
比swift呢?
zigzagroad
现在已经支持在安装apk时直接编译为目标机器码了,所以已经不存在这种说法了。
treebug

引用来自“yaray”的评论

现在已经支持在安装apk时直接编译为目标机器码了,所以已经不存在这种说法了。
嗯,art。有个问题想请教一下:成为本地代码之后,运行的过程是否还需要vm呢?这个art是在所有应用之下还是仅仅是一个翻译,然后应用之下是linux呢?
muyu
andriod、ios的系统架构不同,造成比ios慢,而不是使用的语言
treebug

引用来自“muyu”的评论

andriod、ios的系统架构不同,造成比ios慢,而不是使用的语言

嗯,赞成4
跟猪谈理想
我想嘲笑一下你,ios快是因为它的运行机制和android不太一样,你都能扯到语言上,语言上的差异几乎可以忽略,ios 除了 地图,音乐等app外其他app 是不能后台运行的,即使能运行,最多15分钟,在期间可能会因为系统资源不足而被kill掉。可以极端点认为,ios同一时刻只运行一个app
treebug

引用来自“跟猪谈理想”的评论

我想嘲笑一下你,ios快是因为它的运行机制和android不太一样,你都能扯到语言上,语言上的差异几乎可以忽略,ios 除了 地图,音乐等app外其他app 是不能后台运行的,即使能运行,最多15分钟,在期间可能会因为系统资源不足而被kill掉。可以极端点认为,ios同一时刻只运行一个app
soga。这个倒是没有了解清楚。指明java语言,是因为java开发出来的软件,都需要jvm。所以,我想这应该是它的一个特别吧。因为他们自己都宣称自己是跨平台的,可是java语言本身并不是跨平台的,而是jvm才让它跨平台。并且,java本质上(现在正在改变)是解释型语言,每次都需要解释执行,导致了慢的效率,加上它的垃圾回收器,因此很慢。ios是c语言的超集,拥有c那样高性能的特点,同时又有面向对象的特点。。。
×
treebug
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: