안드로이드 앱 성능 최적화

세션당 3.3 페이지 뷰가 증가되면, 총 11% 페이지 뷰가 늘어남을 알 수 있습니다.

1

개발하면서 안드로이듸 앱을 최적화 해야될 것 같은 슬픔 예감이 들면 이 책을 들쳐보곤 했다. 책에 관한 리뷰를 쓰지 못한건 전체를 읽어본 적이 없고 부분을 참고했기 때문이다.

2

이번엔 무슨 일인지 모르겠지만, 반응속도가 너무 느려서 책을 전체적으로 읽어야 했고, 몇가지 사례를 통해서 성능을 향상시켰다. 별 다른 이유없이 향상된 성능이 아니라 책 덕분이라 이렇게 작게나마 기록을 남겨본다.

3

안드로이드 최적화 때문에 머리가 아픈 개발자라면 이 책부터 시작해서 구글로 향하는 큰 여행을 계획해 보시길 권합니다.


[…] 안드로이드 앱에 최소 가능 제품(MVP)의 개발 방식을 채택했으나 초기 버그와 성능 문제가 있었다고 생각해봅시다. 나중에 이런 문제들을 수정하더라도 이 앱이 설치되어 사용되려면 다음과 같은 가정이 필요합니다. 1) 여전히 고객이 있어야 한다. 2) 그들은 앱을 업데이트해줘야 한다. 3) 그들은 개선 사항을 확인하도록 앱을 실행해봐야 한다. […] 트위터에 의하면 안드로이드 앱의 50% 사용자는 3일 안에 앱 엡데이트를 진행하고 14일이 지나며 75% 수준까지 올라갑니다. […] 앱을 기기에서 삭제하지만 않았다면 업데이트를 다운 받아서 앱을 실행하고, 앱이 수정된 것을 확인할 가능성은 남아 있다고 애기할 수 있습니다.

JobScheduler의 또 다른 유용한 기능은 작업을 반복 수행할 때 JobScheduler의 또 다른 기능으로 작업이 반복 수행될 때 선형이나 지수 시간의 재시도 간격을 지정할 수 있습니다.

[…] 연구에 의하면 0ms ~ 100ms 사이의 지연은 순간으로 인식됩니다.100ms ~ 300ms는 “약간 느리다” 정도로 인식됩니다. 300ms ~ 1000ms는 뭔가 기계가 동작 중인 것으로 인식되고 1000ms 이상 지연이 발생하면 사람들은 집중력을 잃기 시작합니다.

[…] 화면에 콘텐츠를 빨리 보여줄 뿐 아니라 렌더링도 부드러워야 합니다 .안드로이드 팀에서는 프레임 누락으로 화면의 부드럽지 않은 움직임을 “쟁크(jank)”라 부릅니다. […] 대부분의 안드로이드 기기는 1초에 60번씩 화면을 갱신합니다. 16ms당 한 번씩 화면이 갱신되기 때문에 한 프레임은 16ms 안에 렌더링되어야 합니다.

Written on June 27, 2017