我们之所以设置启动页,很大一部分原因是在启动页显示的背后可以利用宝贵的时间来初始化我们的应用,启动页消失后,初始化的工作就应该做完。因此,使用开源RN组件是比较靠谱的,闲言少叙,直奔主题!
6.修改Android/app/src/main/Java/com/APPNAMES/MainActivity.java文件:
import android.graphics.Color; import android.os.Bundle; import com.facebook.react.ReactInstanceManager; import com.facebook.react.bridge.ReactContext; import com.mehcode.reactnative.splashscreen.SplashScreen; public class MainActivity extends ReactActivity { // [...] @Override protected void onCreate(Bundle savedInstanceState) { // Show the js-controlled splash screen SplashScreen.show(this, getReactInstanceManager()); super.onCreate(savedInstanceState); // [...] } // [...] }7.在入口文件中测试:
rn-splash-screen提供了两个API,open()和hide()。
/** * Sample React Native App * https://github.com/facebook/react-native * @flow */ import React, { Component } from 'react'; import { AppRegistry, StyleSheet, Text, View } from 'react-native'; // 引入引导页组件 import SplashScreen from 'rn-splash-screen'; export default class splashTest extends Component { constructor(props){ super(props); this.state = {}; } componentDidMount() { setTimeout(() => { SplashScreen.hide(); }, 2000); } render() { return ( <View style={styles.container}> <Text style={styles.welcome}> Welcome to React Native! </Text> </View> ); } } const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', backgroundColor: '#F5FCFF', }, welcome: { fontSize: 20, textAlign: 'center', margin: 10, }, instructions: { textAlign: 'center', color: '#333333', marginBottom: 5, }, }); AppRegistry.registerComponent('splashTest', () => splashTest);注意:React-native run-android过程中很一直报错,如果按照以上方法修改的话,是没有问题的(RN 0.43),有效的办法是编译之前删除android\app\build文件夹下的四个文件夹,这样就不会重复报错了。
修改APP得名字:直接打开android/app/src/main/res/values/strings.xml,即可看到配置中的app_name,修改为你想要的即可:
<resources> <string name="app_name">Hello</string> </resources>修改APP得图标在android\app\src\main\res\mipmap-xxxxxx中直接覆盖图标就可以,注意图标的大小。
1,ReactNative安卓首屏白屏优化,
2. 设置SplashScreen
https://github.com/SpikeKing/LearningRN (同一篇,有gif图 http://www.jianshu.com/p/08f296eb67e4)
参考:安卓白屏优化
https://github.com/cnsnake11/blog/blob/master/ReactNative开发指导/ReactNative安卓首屏白屏优化.md
##################################################
性能优化
1.探索react native首屏渲染最佳实践
http://web.jobbole.com/85451/
2. QQ空间终端开发团队 https://zhuanlan.zhihu.com/p/20587485
3.React Native 性能优化建议
http://www.ghugo.com/react-native-high-performance/