android - performance tips
1. 불필요한 객체 생성을 피해라.
- 객체를 새로 생성해서 사용하는것 보다 이미 생성된 객체의 데이터를 초기화 후 재사용 하는 형태의 사용을 권장.
2. 필드에 접근할 필요가 없다면 static 메소드로 구현해라.
- 일반 메소드 접근보다 static 메소드 접근이 빠름.
3. 상수는 static final로 정의해라.
4. 클래스 내부에서 필드에 접근은 getter/setter 형태가 아닌 직접 접근방식으로
- JIT를 지원하지 않으면 소드로 접근이 직접 필드 접근의 3배 비용이 소요된다.
5. JDK1.5에 추가된 enhanced for loop syntax를 사용해라.
- JIT를 지원하지 않으면 가장 빠른 루프처리 이며 JIT를 지원해도 일반 for 루프와 동등함.
6. private inner class 사용을 피해라.
7. floating-point 사용을 피해라.
- float는 integer보다 2배 느리며 double과는 속도 차이가 없다.
8. 직접구현보단 라이브러리 코드를 사용해라.
9. interface로 접근보단 구현 class로 접근하여 사용해라.
- JIT를 지원하지 않으면 2배가랑 속도차이 있을 수 있다.
10. 테스트/최적화 툴을 잘 활용해라.
참고 URL
http://developer.android.com/training/articles/perf-tips.html
- 객체를 새로 생성해서 사용하는것 보다 이미 생성된 객체의 데이터를 초기화 후 재사용 하는 형태의 사용을 권장.
2. 필드에 접근할 필요가 없다면 static 메소드로 구현해라.
- 일반 메소드 접근보다 static 메소드 접근이 빠름.
3. 상수는 static final로 정의해라.
4. 클래스 내부에서 필드에 접근은 getter/setter 형태가 아닌 직접 접근방식으로
- JIT를 지원하지 않으면 소드로 접근이 직접 필드 접근의 3배 비용이 소요된다.
5. JDK1.5에 추가된 enhanced for loop syntax를 사용해라.
- JIT를 지원하지 않으면 가장 빠른 루프처리 이며 JIT를 지원해도 일반 for 루프와 동등함.
6. private inner class 사용을 피해라.
7. floating-point 사용을 피해라.
- float는 integer보다 2배 느리며 double과는 속도 차이가 없다.
8. 직접구현보단 라이브러리 코드를 사용해라.
9. interface로 접근보단 구현 class로 접근하여 사용해라.
- JIT를 지원하지 않으면 2배가랑 속도차이 있을 수 있다.
10. 테스트/최적화 툴을 잘 활용해라.
참고 URL
http://developer.android.com/training/articles/perf-tips.html
댓글
댓글 쓰기