[도서 정리] 안드로이드 앱 성능 최적화 #1 안드로이드 성능 입문 |
이 글은 “안드로이드 앱 성능 최적화” 의 일부 내용만 정리한 것입니다.
자세한 내용은 책을 구매하여 보세요~
1.1 사용자에게 성능은 중요합니다.
-
1960년대 수행된 인간 인식에 대한 연구에서는 100ms 미만에 동작하는 경우 즉각 반응한 것으로 느끼고, 동작하는 데 1초 이상 걸리게 되면 생각의 흐름이 끊기기 시작한다고 한다.
1.1.1. 전자상거래와 성능 최적화
-
느린 웹사이트가 빠른 웹사이트에 비해 판매당 페이지 뷰가 더 낮고, 사용자 만족도 역시 떨어진다고 한다.
웹 사이트 성능을 개선했을 때 사용자 참여나 판매가 증가한다는 연구 결과가 많다.
1.1.2. 전자상거래 판매를 넘어서
-
성능이 떨어지는 모바일 앱들은 매출과 수익이 떨어질 뿐만 아니라 구글 플레이 마켓에서의 순위도 낮다.
심지어 이상한 동작을 하는 앱들은 사용자 기기에서 자동 제거될 수도 있다.
1.1.3. 성능 개선과 인프라 비용 절감
1.2. 가장 큰 성능 실패 : 서비스 중단
-
2015년 포춘지가 선정한 500대 기업에 대한 연구에 의하면 웹서비스 중단으로 인한 시간당 손해 비용은 6억~12억원.
서비스 중단은 최악의 유형에 속하는 성능 문제라고 단언할 수 있다.
그리고 모바일에서의 서비스 중단은 앱 크래시와 유사하다고 볼 수 있다.
가장 먼저 해결해야 할 성능 문제가 그래서 크래시이다.
-
앱이 실제 느리거나 느려 보이게 동작해도 고객은 서비스 중단과 비슷한 반응을 보인다고 한다.
1.2.1. 순차적 정전과 같은 성능
-
2015년 HP 의 연구에 따르면, 느리게 동작하는 앱에 대해 크래시나 나는 앱에 취하는 행위와 유사한 행위를 취한다고 한다.
즉 느리게 동작하는 앱은 시간당 손해 비용이 매우 높다고 볼 수 있다.
가장 높은 리액션은 다음 순이다.
앱 제거
앱 업데이트를 확인
앱 사용 중지
다른 앱 찾기
앱 사용 빈도 줄이기
앱을 그대로 사용
낮은 평점 주기
부정적 리뷰 남기기
기타
1.2.1. 성능 문제에 대한 소비자의 반응
-
안드로이드 앱의 문제나 버그 중 44% 가 사용자에 의해 발견되고,
그 중 20% 가 구글 플레이에 제출된 리뷰를 통해 발견된다고 한다.
-
앱을 떠나거나 삭제하는 가장 큰 이유는 앱에 실망했기 때문이다.
Perfect Mobile 의 연구에 따르면 다음이 가장 큰 사용자 불만이다.
사용자 인터페이스 문제 ( 58% )
성능 ( 52% )
기능성 ( 50% )
장치 호환성 ( 45% )
-
MVP ( Minimum Viable Product ) 개발 방식을 채택했으나 버그와 성능 문제가 있는 경우, 이 문제를 수정하더라도 이 앱이 설치되어 사용되려면 다음과 같은 가정이 필요하다.
여전히 고객이 있어야 한다.
그들이 앱을 업데이트 해야 한다.
그들이 개선 사항을 확인하도록 앱을 실행해봐야 한다.
-
트위터에 의하면 안드로이드 앱의 50% 사용자는 3일 안에 앱 업데이트를 진행하고, 14일이 지나면 75% 수준까지 올라간다.
그리고 이 패턴이 반복된다.
그러므로 앱을 기기에서 삭제하지 않는 것이 중요하다.
1.2.3. 스마트폰의 배터리 수명 : 석탄 광산의 카나리아
-
배터리를 가장 많이 소모하는 건 화면, 전화, 와이파이 신호, 기타 송신장치(블루투스나 GPS) 이다.
-
이전의 사용자들은 배터리 문제가 발생하면 일반적으로 기기나 제조사, 통신사를 탓했다.
그러나 이제는 앱의 배터리 사용을 측정하는 앱들이 많이 나왔고, 35% 정도가 배터리를 과도하게 먹는 앱을 삭제해본 경험이 있다고 한다.
1.3. 성능 문제를 테스트하기
-
출시 전에 성능 문제를 발견하는 가장 좋은 방법은 첫 번째가 테스트, 두 번째도 테스트, 테스트 밖에 없다.
성능 테스트에는 합성 테스트와 실제 사용자 모니터링(RUM, Real User Monitoring)이 있다.
1.3.1. 합성 테스트
-
특정 사용 사례를 테스트하거나, 모바일 앱에서의 사용자의 행동을 모방하기 위해 가상으로 시행하는 테스트이다.
1.3.2. 실제 사용자 모니터링 ( RUM )
-
앱에 통계 라이브러리를 적용해서 모든 사용자로부터 실시간 데이터를 수집한다.
1.4. 결론
-
로딩 속도, 스크롤, 다른 사용자 이벤트들은 무조건 빠르고 부드러워야 한다.
느린 속도로 동작하는 앱들은 앱에서 크래시가 나는 경우와 비슷한 비율로 고객을 잃는다.
이런 이유로 성능이 낮은 앱을 운영하는 것은 순차적인 전력 중단과 비슷하다.
사용자 참여를 잃고, 판매를 잃고, 궁극적으로는 고객도 잃어버리게 된다.
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[도서 정리] 안드로이드 앱 성능 최적화 #3 하드웨어 성능과 배터리 수명 (0) | 2018.06.24 |
---|---|
[도서 정리] 안드로이드 앱 성능 최적화 #2 안드로이드 디바이스 랩 만들기 (0) | 2018.06.23 |
[android] Secure Coding Guide (0) | 2018.05.24 |
[android] Collection of Open Source Library (aos) (0) | 2018.05.15 |
[android] 화면 고정 기능 (0) | 2018.05.05 |
댓글