앱을 개발하면서 다양한 라이브러리를 사용하게 되는데요.
이 라이브러리에는 쓰지않는 수많은 메소드까지 다 따라오게 됩니다.
그러면서 메소드카운트가 Java의 한계를 넘어서게 되구요.
Minified를 해주던, MultiDex를 사용하던 해야하는 단계에 이르게 되면,
빌드속도가 엄청나게 느려지게 됩니다.
참고로 Multidex를 바로 사용하기 전에,
Debug단계에서는 Minified를 사용해보는 것이 좋은데요.
이에 관한 글은 아래 링크를 참조해 주세요.
https://developer88.tistory.com/167?category=219607
코드 몇줄 수정했는데 1분 가까이 빌드가 걸린다면,
개발 의욕도 저하될텐데요.
오늘은 어떻게 하면 Build속도를 빠르게 할 수 있는지
그 방법들을 정리해 보도록 하겠습니다.
1. Release와 다른 Debug설정
Release에서 버전에서는 하위 호환성이나 난독화 등이 매우 중요하지만,
개발 중에는(Debug) 그렇지 않은 경우가 많습니다.
따라서 빌드 설정을 할 때,Release와 Debug를 에 대해 다르게 설정해 주면
좀 더 속도를 개선할 수 있습니다.
1-1. Flavor를 활용해 Release와 Debug버전 다르게 설정
구성은 아래와 같이 간단한데요.
주의해야 할 것은 flavorDimensions를 설정해 주어야 한다는 점 입니다.
flavorDimensions는 Flavor그룹인데요.
아래에서는 "version"이라는 그룹으로 하나만 사용합니다.
flavorDimensions "api", "mode"와 같은식으로 여러개의 그룹을 만들어 각각의 flavor에서 지정해 줄 수 있습니다.
1-2. PNG 사이즈를 줄이는 옵션 끄기
PNG사이즈를 줄이는 옵션은 Release버전에서는 좋지만,
개발중인 버전에서는 속도가 더 중요하므로 아래와 같이
꺼주도록 합니다.
1-3.
3. Run말고 Instant Run사용하기
안드로이드 스튜디오에는 Instant Run버튼이 Run버튼 옆에 있는데요.
하던데로 Run버튼을 사용하시는 분들이 많이 있으실 겁니다.
InstantRun을 배포하는 기기가 API21이상일경우에만 제대로 동작한다는 점은 주의해야 합니다.
InstantRun을 사용하면, 배포 대상 device에 맞춰서 최적화된 속도로 변경사항을 볼 수 있도록 해주기 때문에
이를 잘 활용하는 것이 중요합니다.
그리고, 항상 run 하는 것이 아니라,
Apply Changes를 잘 활용해 주는 것이 속도에 있어서 중요합니다.
8. 배포 기기는 최신 버전으로
안드로이드 공식 문서에 따르면,
Android 7.0 (API level 24)이상 버전에 배포하는 것을 권장한다고 하는데요.
최신버전의 안드로이드 플랫폼이 빌드버전을 업데이트 하는데 더욱 최적화 되어있기 때문이라고 합니다.
'Android 개발 > Android' 카테고리의 다른 글
Full Screen Intent Notificaiton 에 관한 정리 # 풀스크린 인텐트 (0) | 2020.10.02 |
---|---|
Android4를 지원하지 않는 라이브러리들 정리 # API21 이상 (1) | 2020.08.05 |
Android WebView 를 설정하고 로딩하는 방법을 정리해보자 (0) | 2020.03.19 |
Activity Manifest 설정에 대한 정리(launchMode, screenOrientation, configChanges 등) (0) | 2020.03.10 |
SoundPool 이용해서 다양한 사운드(효과음) 재생하기 #Android (0) | 2019.11.05 |
PendingIntent 의 Flag 사용할 때 주의할 점 (0) | 2019.08.28 |
BuildConfig 와 ProductFlavor 정리 # BuildTypes BuildConfigField (0) | 2019.08.13 |
멀티덱스 적용없이 디버그를 위한 Proguard(프로가드) 설정 방법 (0) | 2019.07.26 |
AndroidX 로 SupportLibrary 마이그레이션(Migration) 하기 (0) | 2019.07.15 |
PhoneStateListener 로 안드로이드폰 전화 상태 알아내기 #통화중 음악재생 (2) | 2019.07.13 |
댓글