client/android

if(kakao) 2020 카카오톡 사례로 살펴보는 견고한 안드로이드 앱 만들기

growww 2021. 4. 9. 23:56

# 크래시 분석

- 추가정보

크래시가 경로를 기록해둔다 

Session -> mainactivtiy -> profile activity -> crash

 

# 라이프사이클

- 크래시

Activity, fragment 에서 비동기 요청 늦은 ui 업데이트

callback에서 context 사용시 메모리릭 발생

fragment에서 host 없이 context 사용시 크래시 발생

=> 라이프사이클 어떤 요청이 유효하지 않다면, 요청을 취소하자

 - 시간이 오래걸리는 비동기 작업이 있을 경우, 적절한 예외처리가 되어 있는지 확인

 

# lint 이슈 확인

- stringFormat 

string xml  한국어-영어 포매팅 유의 

 

 

#infinite

어떤 수를 실수 0으로 나눔  (ex. 21억번 수행으로 ANR발생)

No arithmetic

=> 0으로 나눌 가능성을 없앨것, 0 될것같을 경우 디폴트 설정 필수

 

# proguard with release

- 난독화로 이슈발생가능 

=> 클래스, 메서드, 변수 이름을 그대로 사용시 문자열 상수 사용 or pro guard keep option 사용

- 로그 제거

=> 로그 메소드 호출시 string formatter 사용

 

 

# 서버 응답

- 썸네일 이미지 로드시 체크 없이 2-3메사 이미지 로드로 outOfMemory 에러 발생

=> 서버 응답 값에 대해서는 올바른 값이 있는지, 없다면 예외처리에 대해서도 생각하고 개발

 

 

# 페어프로그래밍

# 기록하기 - 이슈 해결 공유 하기 (개요, 원인, 로그, 수정법, 배운점)

 

if.kakao.com/session/123

 

if(kakao)2020

오늘도 카카오는 일상을 바꾸는 중

if.kakao.com

medium.com/@yj.an/android-lint-options-e8105ef66900

'client > android' 카테고리의 다른 글

Agrera vs RxJava - event bus 대체 방법 - observable 한 모델  (0) 2021.04.10