#3: 앱의 성능은 실제 사용자들에게 좋은 반응을 얻기 위해 꼭 필요한 요소이다.기본적으로 실제 장치가 가장 좋은 테스트 환경이다. 에뮬레이터가 아닌 실제 기기에서 테스트하라.컴퓨터의 성능이 에뮬레이터에 영향을 미치며, 네트워크의 반응도 다르고, 디버거가PC에서 별도로 작동하는 것이 앱의 수행 성능을 정확히 가늠하는데 도움이 된다.망고 업데이트에는 os자체의 다양한 성능 개선 사항이 추가되어, 사용자는 망고 업데이트를 사용하는 것만으로도 앱 자체의 품질이 향상된 것을 느낄 수 있다. 또한 고품질의 앱을 개발할 수 있도록 지원하는 개발 환경이 추가되었다. 에뮬레이터와 프로파일러가 그것인데, 자세히 살펴보도록 하자.
#4: 앱의 성능은 실제 사용자들에게 좋은 반응을 얻기 위해 꼭 필요한 요소이다.기본적으로 실제 장치가 가장 좋은 테스트 환경이다. 에뮬레이터가 아닌 실제 기기에서 테스트하라.컴퓨터의 성능이 에뮬레이터에 영향을 미치며, 네트워크의 반응도 다르고, 디버거가PC에서 별도로 작동하는 것이 앱의 수행 성능을 정확히 가늠하는데 도움이 된다.망고 업데이트에는 os자체의 다양한 성능 개선 사항이 추가되어, 사용자는 망고 업데이트를 사용하는 것만으로도 앱 자체의 품질이 향상된 것을 느낄 수 있다. 또한 고품질의 앱을 개발할 수 있도록 지원하는 개발 환경이 추가되었다. 에뮬레이터와 프로파일러가 그것인데, 자세히 살펴보도록 하자.
#6: GC와 관련된 이슈. 지금도 에뮬레이터와 디바이스의 메모리 특성이 동일하지는 않다.에뮬레이터에서 가속계와 위치 서비스를 지원한다. Shake motion도 지원함
#9: UI 스레드, 백그라운드(작업자) 스레드그래픽스택; 화면이 얼마나 redraw가 일어나는가네트워크 ; 3G의 접속 속도등에 좌우받을 수 있다. 예를 들어 망고에서는 WebClient클래스가 수정되었는데, UI 스레드에 영향을 주던 부분이 고쳐졌다.UI 모델 ; 여러 종류의 컴퍼넌트가 있고, 렌더링되는 방법에 따라 성능이 천차만별일 수 있다.
#12: 스크롤 관련 이슈가 많았다. 사용자의 터치 입력을 처리하는 스레드를 따로 둠으로써 사용자 경험을 최대한 개선하고자 하였다.
#13: 무거워지는 원인!Layout관련 함수가 호출되면서, 시각 트리가Invalidate되어 다시 그려야 할 경우, Measure와 Arrange 함수를 통해 시각 트리의 구성 요소들의 크기 변화나 위치 변화 등 시각적 변화가 일어난다. 프레임의 콜백 함수를 통해 시각 트리에 변화가 일어나면, 다시 레이아웃 관련 함수의 호출이 반복된다.가장 비용을 우선해야 하는 부분