23000원짜리 책 치고는 작고 얇은 책 (부록인 줄..)
하지만 앱 최적화 관련 내용이 매우 좋다. 완성도 높은 앱 개발이 고민이라면 꼭 읽어보시길 추천함
* * *
안드로이드 앱 성능 최적화
속도, 최적화, 테스트 실전 가이드
목차
1장. 안드로이드 성능 입문
_1.1 사용자에게 성능은 중요합니다
__1.1.1 전자상거래와 성능 최적화
__1.1.2 전자상거래 판매를 넘어서
__1.1.3 성능 개선과 인프라 비용 절감
_1.2 가장 큰 성능 실패: 서비스 중단
__1.2.1 순차적 정전과 같은 성능
__1.2.2 성능 문제에 대한 소비자의 반응
__1.2.3 스마트폰의 배터리 수명: 석탄 광산의 카나리아
_1.3 성능 문제를 테스트하기
__1.3.1 합성 테스트
__1.3.2 실제 사용자 모니터링(RUM)
_1.4 결론
2장. 안드로이드 디바이스 랩 만들기
_2.1 고객들은 어떤 기기를 사용하나요
_2.2 기기 성능 분류
__2.1.1 화면 크기
__2.1.2 SDK 버전
__2.1.3 CPU/메모리와 저장장치 용량
_2.3 고객들은 어떤 네트워크를 사용하나요
_2.4 당신의 기기는 고객의 기기와 다릅니다
_2.5 테스팅
_2.6 디바이스 랩 구축하기
__2.6.1 기기를 사는 데 몇백만 원이 필요하다고요?
__2.6.2 그래서 어떤 기기를 선택해야 하나요?
__2.6.3 휴대폰 이외의 기기들
__2.6.4 안드로이드 오픈소스 프로젝트(AOSP) 기반 기기들
__2.6.5 기타 옵션들
__2.6.6 추가 고려 사항
__2.6.7 나만의 디바이스 랩
_2.7 결론
3장. 하드웨어 성능과 배터리 수명
_3.1 안드로이드의 하드웨어 기능
_3.2 덜 써야 더 쓴다
_3.3 배터리가 빨리 소모되는 원인은 무엇인가
__3.3.1 안드로이드 전력 프로파일
__3.3.2 화면
__3.3.3 무선신호
__3.3.4 CPU
__3.3.5 추가 센서
__3.3.6 절전 모드!
__3.3.7 wakelock과 alarm
__3.3.8 도즈 프레임워크
_3.4 기본적인 배터리 소모 분석
__3.4.1 앱별 배터리 소모량
__3.4.2 배터리 정보와 데이터 사용량의 결합
__3.4.3 App Standby
_3.5 배터리 모니터링 심화 과정
__3.5.1 batterystats
__3.5.2 Battery Historian
_3.6 JobScheduler
_3.7 결론
4장. 화면과 UI 성능 개선하기
_4.1 UI 성능 벤치마킹
__4.1.1 쟁크
_4.2 안드로이드 UI 및 렌더링 성능 개선의 역사
_4.3 뷰 구성하기
__4.3.1 계층 구조 뷰어
_4.4 리소스 줄이기
__4.4.1 화면 겹쳐 그리기 문제
__4.4.2 오버드로 확인하기
__4.4.3 계층 구조 뷰어(Hierarchy Viewer)로 오버드로 확인하기
__4.4.4 킷캣에서 오버드로를 없애는 방법
_4.5 GPU 렌더링 프로파일링으로 쟁크 분석하기
__4.5.1 안드로이드 마시멜로에서의 GPU 렌더링
_4.6 쟁크를 넘어선 프레임 생략
__4.6.1 Systrace
__4.6.2 Systrace로 살펴보는 화면 출력
__4.6.3 Systrace와 CPU로 인한 렌더링 차단
__4.6.4 ‘구글 I/O 2015’에서 발표된 Systrace 업데이트
__4.6.5 칩 공급 업체별 도구
_4.7 인지 성능
__4.7.1 스피너: 좋은점과 나쁜점
__4.7.2 로딩 시간을 숨겨주는 애니메이션
__4.7.3 즉각적인 업데이트의 착한 거짓말
__4.7.4 인지 성능을 향상시키기 위한 팁
_4.8 결론
5장. 메모리 성능
_5.1 안드로이드 메모리는 어떻게 동작하는가
__5.1.1 공유 메모리와 전용 메모리
__5.1.2 더티 메모리와 클린 메모리
__5.1.3 메모리 정리(가비지 컬렉션)
__5.1.4 앱이 사용하는 메모리 용량 알아내기
__5.1.5 Procstats
__5.1.6 안드로이드 메모리 부족 경고
_5.2 자바의 메모리 관리와 누수
_5.3 메모리 누수를 추적하기 위한 도구
__5.3.1 힙 덤프
__5.3.2 Allocation Tracker
__5.3.3 메모리 누수 추가하기
__5.3.4 힙 심층 분석: MAT와 LeakCanary
__5.3.5 이클립스 메모리 분석기 도구(MAT)
__5.3.6 LeakCanary
_5.4 결론
6장. CPU와 CPU 성능 최적화
_6.1 CPU 사용량 측정하기
_6.2 Systrace를 통한 CPU 사용량 분석
_6.3 Traceview(Legacy Monitor DDMS 도구)
_6.4 Traceview(안드로이드 스튜디오)
_6.5 다른 프로파일링 도구
_6.6 결론
7장. 네트워크 성능
_7.1 와이파이와 무선 통신망 신호
__7.1.1 와이파이
__7.1.2 무선 통신망
__7.1.3 RRC 상태 기계
_7.2 테스트 도구
__7.2.1 Wireshark
__7.2.2 Fiddler
__7.2.3 MITMProxy
__7.2.4 ARO(AT&T Application Resource Optimizer)
__7.2.5 하이브리드 앱과 WebPageTest.org
_7.3 안드로이드를 위한 네트워크 최적화
__7.3.1 파일 최적화
__7.3.2 텍스트 파일 축소(사우더스의 “자바스크립트를 작게 하라” 항목)
__7.3.3 이미지
__7.3.4 파일 캐싱
__7.3.5 파일을 넘어서
__7.3.6 연결의 그룹화
__7.3.7 앱에서 무선망 사용 여부 감지하기
__7.3.8 좋은 것에도 끝이 있는 법: 연결 종료
__7.3.9 반복되는 핑
__7.3.10 네트워킹 보안(HTTP 대 HTTPS)
_7.4 전 세계 무선 통신망 적용 범위
__7.4.1 CDN
__7.4.2 느린 네트워크에서 앱 테스트하기
__7.4.3 (파산을 막기 위해) 느린 네트워크 에뮬레이션하기
__7.4.4 네트워크에 따라 반응하는 앱 만들기
__7.4.5 지연시간에 대한 회계
__7.4.6 마지막 마일 지연
_7.5 기타 무선신호
__7.5.1 GPS
__7.5.2 블루투스
_7.6 결론
8장. 최종 사용자 모니터링
_8.1 RUM 도구 사용하기
_8.2 RUM 분석: 샘플 앱
_8.3 크래시
__8.3.1 Crashlytics 크래시 보고서 살펴보기
__8.3.2 사용량 분석
__8.3.3 실시간 정보
_8.4 사용자를 구해주는 빅데이터?
__8.4.1 RUM SDK 성능
_8.5 결론
부록 A. 조직 차원의 성능개선
_A.1 동의 얻기(성능에 중점을 둔 관리)
_A.2 성능에 대해 이야기하기
_A.3 개발
_A.4 테스팅
_A.5 성능 기준 수치
__A.5.1 성능 기준 적용하기
'취미생활 > 영화·책' 카테고리의 다른 글
파이썬을 이용한 머신러닝, 딥러닝 실전 개발 입문 (0) | 2018.01.15 |
---|---|
영화배우 김주혁 교통사고 사망 (0) | 2017.10.30 |
안드로이드 개발 레벨업 교과서 (0) | 2017.08.16 |
욕망산업 (소설 대부업) (0) | 2016.08.10 |
완벽한 안드로이드 앱을 만드는 실무 노하우 139 (0) | 2016.06.15 |