答案 0 :(得分:4)
这为我节省了很多时间:
您需要确保关闭“JS开发模式”,否则它 将在设备上运行缓慢。
这是你在Android上禁用JS开发模式的方法:
运行“react-native run-android”后,你应该“摇动”你的设备 调出菜单。选择“开发设置”,然后取消选中“JS开发模式”。
之后再次运行“react-native run-android”,它应该更多 高效,至少我希望你:)
来源:https://github.com/aksonov/react-native-router-flux/issues/199
答案 1 :(得分:3)
您运行的是什么版本的React Native?你在运行什么手机?
如果你在Android模拟器上运行React Native,它会非常慢。此外,如果您启用了Chrome调试,它会使应用程序速度降低。
我在三星Galaxy s4设备上运行了一个相当简单的React Native应用程序,它运行得相当快(动画运行也相当顺利)。
我运行的一些示例代码(带有动画的侧边图和主视图):
_renderCancel: function(){
if (this.state.showView) {
return (
this.props.view
);
} else {
return ;
}
},
render: function() {
var menu = <Menu
closeDrawer={this.closeDrawer}
navigator={this.props.navigator}
modifyOnClose={this.modifyOnClose} />;
return (
<Drawer
ref="drawer"
onClose={this.onClose}
type={this.state.drawerType}
animation={this.state.animation}
openDrawerOffset={this.state.openDrawerOffset}
closedDrawerOffset={this.state.closedDrawerOffset}
panOpenMask={this.state.panOpenMask}
panCloseMask={this.state.panCloseMask}
relativeDrag={this.state.relativeDrag}
panStartCompensation={this.state.panStartCompensation}
openDrawerThreshold={this.state.openDrawerThreshold}
content={menu}
styles={drawerStyles}
disabled={this.state.disabled}
tweenHandler={this.tweenHandler}
tweenDuration={this.state.tweenDuration}
tweenEasing={this.state.tweenEasing}
acceptDoubleTap={this.state.acceptDoubleTap}
acceptTap={this.state.acceptTap}
acceptPan={this.state.acceptPan}
changeVal={this.state.changeVal}
negotiatePan={false}
side={this.state.rightSide ? 'right' : 'left'}
>
<View>
<CustomToolBar onPress={this.openDrawer}/>
{this._renderCancel()}
</View>
</Drawer>
);
},
这在我的设备上运行得相当快。
答案 2 :(得分:0)
在您的输入文件中,尝试添加以下代码段:
if (!__DEV__) {
console.log = () => {};
}
这将允许控制台日志在开发过程中工作,但是当您发布用于生产时,这只是一个空函数调用。