RN与原生混合开发完美解决闪屏问题

      由于RN首次启动的时候,需要加载整个bundle,再render出首页面,这个过程通常需要耗费总计几百毫秒到一两秒不等。在默认工程中,这个过程中给用户展示出的都是白色的背景,因此用户会感觉到屏幕有一小段时间的白屏,像是卡顿一样 从而影响用户体验。如果是iOS原生与RN记性混合开发,原生调到RN页面时,这种情况就更加严重。每次跳转的时候再加载,都会卡顿0.3秒,体验很差。

     解决思路是需要在Appdelegate的时候将bundle加载好,不展示出来,然后跳转到RN页面的时候直接self.view addSubView,不用再加载了,以此解决闪屏问题。

点击原生按钮跳转到RN页面



解决思路

通过设置一个单例,在Appdelegate直接加载,然后在VC调用即可。

代码如下:


ViewController为原生界面,FirstViewController为加载RN界面的VC,BridgeManager为单例。

SYJ_BridegManager内部

Appdelegate内部


FirstViewController里面


结束。可以自己试一下效果。

你可能感兴趣的:(RN与原生混合开发完美解决闪屏问题)