본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[android] 안드로이드 개발 10계명

by 돼지왕 왕돼지 2013. 9. 24.
반응형


 안드로이드 개발 10계명 ( 명심해야 할 10가지 )

 

[android] 안드로이드 개발 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 를 잘 설계하라. 그럼 모든 것이 원만해진다.



반응형

댓글