티스토리 뷰
쓸모없는 객체생성 피하기
- String 대신 StringBuffer 사용
- Integer 배열보단 int배열 사용하기
- 다차원 배열보단 1차원 배열 사용하기
static의 적절한 사용
- 인스턴스 변수에 접근할 일이 없을 땐 static 메소드를 선언하여 사용하면
15~20%의 성능개선이 가능하다.
상수에는 static final을 사용
- 변하지 않는 상수를 선언할 때에는 static final로 선언하는 것과 static으로 선언하는 것은
저장되고 참조되는 위치가 달라지기 때문에 static final이 접근속도가 훨씬 빠르다.
내부에서는 getter와 setter를 피하자
- 인스턴스 변수에 직접 접근하는 것이 getter&setter보다 3~7배는 빠르다
for-each문을 사용하자
- Collection에서 제공되는 클래스들은 for-each가 빠르다.
단 ArrayList는 일반 for문이 더 빠르다.
private Inner 클래스의 private 변수 접근을 피하자
- VM에서는 내부클래스와 외부클래스는 다른 클래스로 인식한다.
그러므로 내부클래스가 외부클래스의 private 변수로 접근하는 것은 getter&setter를
사용하는 것처럼 성능저하가 일어난다.
소수점 연산을 피하자
- 안드로이드에서는 정수 연산보다 소수점 연산이 2배 느리다.
- double이 float보다 메모리 공간을 2배나 차지하므로 왠만하면 float를 사용하자
native 메소드를 사용할 땐 조심하자
- 안드로이드 NDK를 사용한 native 코드 호출은 JIT 컴파일러가 최적화도 못하고,
아키텍쳐에 따라 컴파일을 별도로 진행하는 경우도 있다.
'Android' 카테고리의 다른 글
[Android] 안드로이드 분석 툴들 (1) | 2015.04.20 |
---|---|
[Android 성능개선] 이미지 처리로 성능향상시키기 (0) | 2015.04.20 |
[안드로이드 성능개선] 안드로이드의 개발환경 (0) | 2015.04.20 |
GDG Korea 안드로이드 컨퍼런스 (0) | 2015.04.06 |
- Total
- Today
- Yesterday
- 알람
- Java
- 퍼포먼스
- Clojure
- 클로저
- 프로세서
- Java8
- Jackson
- opensource
- json
- gitlab
- react
- 람다
- 날짜
- 메모리
- javascript
- RAMDA
- 시간
- 성능
- Stream
- Swift 2.0
- rambda
- 성능개선
- 자료구조
- Docker
- 자바
- 리액트
- 코어
- 자바 성능
- 컴퓨터 시간
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |