flutter和android区别,Android的即时运行与flutter的热加载和react native的热加载之间的区别?...

这篇博客探讨了Flutter的热重载与Android即时运行的差异。作者发现Flutter的热重载在处理UI状态和类更新方面更快,而Android即时运行在大型视图或活动替换时效率较低。尽管两者在功能上相似,但在实践中,Flutter的热重载对于小型到中型应用的开发体验更优。文章还提到了Flutter的编译模型和状态持久性如何影响其性能。
摘要由CSDN通过智能技术生成

此外,我发现flutter处理状态的方式比Android的活动工作方式更适合重新计算类。在flutter中,有许多与UI相关的类,每个类都有自己的状态,仅更改其中的几个类就相当快。或者,对于Android,您往往拥有更大的视图或活动UI,这需要更大的工作量来替换,并且通常会导致重新加载活动,而不是简单地在这里或那里进行类。

两者都检查代码更改,只对更改的内容执行编译步骤,然后将其发送到要运行的电话。android和flutter应用程序都运行一个虚拟机(jvm或dart-vm),它能够动态地更改类。

当你扑动的时候

热负荷

它正在执行一个快速的增量编译步骤,然后将DART代码发送到手机上,在那里它几乎是瞬间运行的。这是如此之快,部分原因是flutter在以调试模式运行时使用了一个编译的JIT模型,这意味着编译所花费的时间更少,但方法的第一次运行(或前几次运行)可能不会得到优化。在许多情况下,状态在变化之间持续存在,因为颤振的工作方式,而不是通过DART JIT处理固有的任何东西。对于某些事情(静态和initstate函数),实际上必须执行

满负荷

它重新初始化应用程序的状态,但仍然几乎是即时的。

什么Android工作室

即时运行

非常相似,但总是完全编译。虚拟机具有一些检测功能,以便在调用方法时,虚拟机检查是否注入了新类。即时运行将尽可能少地替换;如果它可以简单地替换一些类,它将尽可能少地替换,但它通常需要替换整个活动,有时还需要替换整个应用程序。这是一张很好的图表

this blog

(如果你想更深入地了解,这是值得一读的):

XDEPu.png

功能上,

即时运行

热负荷

应该很相似。然而,在实践中,我发现颤振

热负荷

相当地

即时运行

特别是对于任何尺寸的应用程序。

此外,我发现flutter处理状态的方式比Android的活动工作方式更适合重新计算类。在flutter中,有许多与UI相关的类,每个类都有自己的状态,仅更改其中的几个类就相当快。或者,在Android中,你倾向于拥有更大的视图或活动用户界面,这需要更多的精力来替换,并且常常导致重新加载活动,而不仅仅是在这里或那里一个类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值