안드로이드 개발 10계명 ( 명심해야 할 10가지 ) |
1. 앱 구성요소간 데이터를 주고받을 경우, Extra 로 여러값을 따로따로 전달하기보다는 Parcelable 을 사용하는 것이 유지보수에도 쉽고 성능이슈도 있다. Serialization 도 방법이긴 하지만 안드로이드에서는 Parcelable 이 Serialization 보다 더 효율적이다.
2. UI 와 관련된 코드를 제외한 다른 Heavy 한 모든 일은 다른 thread 를 만들어 수행해야 한다.
3. Object Cache 를 적극 활용하자. ( Object Pool 패턴사용이 추천된다. ) 안드로이드의 GC 는 폰이 버벅대는 효과를 가져오는 1등공신(?) 이다.
4. ListAdapter 내부에서는 오랜 시간이 소요되는 연산을 수행하지 않는다. 그리고 ViewHolder Pattern 을 사용하여 함수호출하는 부분도 최소한으로 줄여준다.
5. setTag 메서드는 매우 유용한 녀석이니 잘 사용하자. 그리고 findViewById 는 메카니즘상 성능이 그렇게 뛰어난 편이 아니기 때문에 findViewById 로 검색하는 View 들은 1회성이 아니라면 variable 로 assign 해서 사용하는 것이 좋다.
6. 어플리케이션 내부에서 메세지를 주고 받을 경우는 Intent 와 BroadcastReciever 를 활용하라. ( 최근에는 Otto, Eventbus 등도 있는데 어떤게 성능이 훨씬 좋을지는... )
7. 가능하면 SoftReference 를 사용하라. 특히 메모리를 많이 사용하는 녀석의 경우에 특히 더 중요하다.
8. static 맴버 변수를 사용할 때는 주의를 기울여야 한다. 가장 대표적인 주의사항은 Context 관련 내용을 static 으로 유지하는 것. 그럴 경우 메모리 릭이 발생하기 쉽다.
9. BroadcastReceiver 는 메인 스레드에서 작동한다는 사실을 명심하라. 그리고 BR 에서는 가능하면 5초 안에 모든 내용을 처리하는 것이 좋다. ( 10초 이상이면 ANR 발생 )
10. 코딩하기 전에 UX 와 UI 를 잘 설계하라. 그럼 모든 것이 원만해진다.
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[android] how to remove extra padding( or margin ) in the GridView (0) | 2013.09.24 |
---|---|
[Java] JDBC, Database Stored Procedure 와 CallableStatement (0) | 2013.09.24 |
갤럭시 S4 개발자 옵션 활성화 시키는 방법. (0) | 2013.09.23 |
[Java] 햇갈리는 array literal 에 대한 이야기 (2) | 2013.09.23 |
[android] how to disable gridview scrolling. (0) | 2013.09.23 |
댓글