React-Native经验交流首页投稿(暂停使用,暂停投稿)手机移动程序开发

React-Native项目中消除启动时的白屏(闪白)--(iO

2017-01-14  本文已影响3518人  尹_路人

做过 RN 项目的童鞋应该都知道 RN 项目启动之后有一个短暂的白屏,调试阶段这个白屏的时间较长,大概3-5秒,打正式包后这个白屏时间会大大缩短,大多时候都是一闪而过,所以称之为『闪白』。


虽然说时间很短,但是只要能被用户察觉,都是属于 Bug

为什么会有白屏

在iOS App 中有 启动图(LaunchImage),启动图结束后才会出现上述的闪白,这个过程是 JS 解释的过程,JS 解释完毕之前没有内容,所以才表现出白屏,那么解决的方法就是在启动图结束后,JS 解释完成前,做一些处理

解决思路

  1. 启动图结束后通过原生代码加载一张全屏占位图片,跟启动图一样的图片,混淆视听『欺骗用户』
  2. JS解释完毕后通知原生可以移除占位图
  3. 收到 JS 发来的可以移除占位图的通知,移除占位图

实现

GitHub上有一套统一两个平台的代码,有兴趣的可以去看看,
https://github.com/crazycodeboy/react-native-splash-screen/blob/master/README.zh.md

上一篇下一篇

猜你喜欢

热点阅读