Android에서 네이티브 작동 속도가 매우 느림
'매우 느림'이란 말은, 단순한 예시 앱임에도 불구하고 5초 정도 전환이 가능하다는 것이다.
을 보다.onPressFeed
덕분에 많은 시간을 절약할 수 있었다.
- 코드에서 "console.log"를 검색하고 테스트하기 전에 코드에 주석을 달으십시오.
- "JS Dev 모드" 해제
"JS Dev Mode"를 끄지 않으면 장치에서 속도가 매우 느리게 실행되도록 하십시오.
Android에서 JS Dev 모드를 비활성화하는 방법:
"react-native run-android"를 실행한 후에는 장치를 "흔들"하여 메뉴를 표시하십시오."Dev Settings"를 선택한 다음 "JS Dev Mode"를 선택 해제하십시오.
그 후에 다시 "반응-네이티브 런앤드로이드"를 실행한 후, 그것은 좀 더 성능이 좋아져야 한다, 적어도 나는 너를 위해 :)
출처: https://github.com/aksonov/react-native-router-flux/issues/199
실행 중인 Resact Native 버전을 선택하십시오.그리고 어떤 전화기로 작동하고 있어?
Android Emulator에서 Resact Native를 실행하면 속도가 상당히 느려질 겁니다.또한 크롬 디버깅을 하고 있으면 앱 속도가 많이 느려진다.
삼성 갤럭시s4 기기에서 꽤 간단한 리액션 네이티브 앱을 실행 중인데, 꽤 빨리 실행된다(애니메이션도 꽤 부드럽게 작동한다).
내가 실행하는 몇 가지 예제 코드(애니메이션이 있는 측면 그리기 및 기본 보기):
_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>
);
},
이것은 내 장치에서 꽤 빨리 실행된다.
프로덕션에서 로깅 해제
입력 파일에서 다음 코드 조각을 추가해 보십시오.
if (!__DEV__) {
console.log = () => {};
}
이렇게 하면 개발 중에 콘솔 로그가 작동할 수 있지만, 생산을 위해 릴리즈할 때는 빈 함수 호출에 불과하다.
참조URL: https://stackoverflow.com/questions/35449558/react-native-works-very-slow-on-android
'Programing' 카테고리의 다른 글
바이트를 문자열로 변환 (0) | 2022.03.09 |
---|---|
판다 멀티 인덱스를 컬럼으로 변환 (0) | 2022.03.09 |
VueJS 조건부로 요소의 속성 추가 (0) | 2022.03.09 |
Vue에서 여러 구성 요소 유형 목록 렌더링 (0) | 2022.03.09 |
Vue.js에서 이스케이프되지 않은 HTML 표시 (0) | 2022.03.09 |