关于RN之debug与release模式那些事

本文探讨了ReactNative在iOS和Android平台使用JavaScriptCore作为JS引擎的情况,以及在Chrome调试时使用V8引擎的差异。指出不同引擎可能导致代码行为不一致,强调了开发中代码规范的重要性。

在使用 React Native 时,我们用到两个不同的js引擎

JS引擎
  • 在iOS、Android的模拟器或是真机上,React Native使用的是JavaScriptCore,也就是Safari所使用的JavaScript引擎。但是在iOS上JavaScriptCore并没有使用即时编译技术(JIT),因为在iOS中应用无权拥有可写可执行的内存页(因而无法动态生成代码)。
  • 在使用Chrome调试时,所有的JavaScript代码都运行在Chrome中,并且通过WebSocket与原生代码通信。此时的运行环境是V8引擎。

开发实践中,有些代码在debug上好用(使用Chrome调试),但是在release模式中会失效,可能是不同js引擎对代码的执行解析是不一样导致的。
所以在开发中还是需要仔细的规范代码的书写。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值