마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

출시전 점검 사항 질문입니다

0 추천
 
 
출시하기전에
 
System.out.println 이나 log 달아놓은것 다 삭제하는게 성능면에서 좋나요?
 
그리고 주석달아놓은것도 다 지우는편이 더 좋은지
 
작은답변이라도 달아주신다면 감사드리겠습니다.

 

안드로냥 (230 포인트) 님이 2013년 2월 23일 질문

3개의 답변

+1 추천

1. SYSOUT은 예외입니다 릴리즈모드로 컴파일 한다고해서 사라지지 않습니다.

 

2. Log.d 등으로 출력한 로그역시 사라지지 않는것처럼 보이긴 합니다.

하지만 매니페스트에서  android:debuggable="true" 라인을 삭제하시면

컴파일시에 디버깅 용도의 메서드들은 포함을 시키지 않고 컴파일 하게됩니다.

 

3. 주석은..... 천만줄이 있어도 상관없습니다.

Noizbuster (11,970 포인트) 님이 2013년 2월 24일 답변
Noizbuster님이 2013년 2월 24일 수정
0 추천
일단 성능에 얼마나 영향을 주는지가 궁금하신거고 성능을 최적화하고 싶으신거죠? 대부분의 경우 약간의 로그가 성능에 큰 영향을 줄것 같진 않습니다만. 로그를 얼마나 찍고 있느냐에 따라서 달라질것도 같습니다. 성능에 실제 영향을 주는 정도가 어느정돈지 궁금하다면 측정을 해보시면 됩니다. 프로파일링 해보시면 어떤 코드들이 얼마나 실행되고 있는지 나올거구요. 비정상적으로 시간을 많이 잡아먹고 있는 부분이 있다면 그 부분을 최적화 하시면 됩니다.

http://developer.android.com/tools/debugging/debugging-tracing.html

그리고 로그 찍는 것은 개발할때 찍는것과 릴리즐될때 찍는것을 구분해 주는 것이 좋은데, DEBUG 같은 constant를 지정해두고 DEBUG가 true일때 찍는 코드와 false일때 찍는 코드를 달리하면되겠죠. 보통 릴리즈 시에도 표시할 로그는 error, warning수준으로 구분해서 남기고, 개발중에 표시할 로그는 verbose, debug수준으로 합니다. 그리고 릴리즈 시에는 DEBUG를 false로 해서 apk를 만들어주면될것 같습니다.
회색 (21,340 포인트) 님이 2013년 2월 23일 답변
0 추천
로그를 어디에 달았냐에 따라 막대한 영향을 끼치기도 하고 아니기도 합니다.

개인적으로는 로그를 찍는 static method 를 하나 만들어서 쓰는 편입니다.
Darklake (720 포인트) 님이 2013년 2월 24일 답변
...