>> https://blog.getsigneasy.com/engineering/signeasy-android-app-lighter/
요약하면 이렇습니다. 디테일은 링크를 통해서 알아보세요!
최소한의 라이브러리 사용하기
Google API의 경우에 v6.5 이상 부터 선택적으로 라이브러리를 포함시킬 수 있도록 했으니, 사용하는 종류만 골라서 사용하는 것이 좋다.
ProGuard 사용하기
ProGuard는 앱에서(라이브러리를 포함) 사용하지 않는 클래스나 메소드, 필드들을 지워주는 효과적인 툴이다.
만약에 AppCompat-v7 또는 support library-v4를 사용하고 있다면 ProGuard파일에 아래의 2줄이 없도록 해야한다.
-keep class android.support.v4.** { *; }
-keep class android.support.v7.** { *; }
Minifying과 Shrinking
Gradle에게 사용하지 않는 리소스들을 삭제 하라고 명령하는 심플한 방법이다.
앱의 build.gradle 파일을 열어 아래와 같이 설정 해주면 된다.
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
drawable 관리
mdpi나 hdpi까지 내려가는 사용자가 거의 없다면 여기에 있는 에셋은 과감히 없애도 된다.
왠만하면 vector drawable을 사용하라.
Android Lint
Android Studio에서 Analyze > Run inspection by name > 다이얼로그에 "unused resources"입력 > 검사할 영역 선택 (whole project 추천) 해서 코드의 어떤 부분에서도 쓰이지 않는 리소스를 찾을 수 있다.
언어 설정
Gradle에서 앱에 사용하고 있는 언어를 제한하여 용량을 줄이는 방법이다.
이것은 앱에 포함된 다른 라이브러리들 같은데에서도 사용되는 번역 파일들을 날릴 수 있게 해 줘서 좋다.
앱의 build.gradle 파일을 열어 아래와 같이 설정 해주면 된다.
defaultConfig {
…
resConfigs “en”, “es”, “ja”, “in”
…
}
'프로그래밍 > Android' 카테고리의 다른 글
안드로이드 구글 애널리틱스 (Google Analytics) 연동하기 (4) | 2017.03.03 |
---|---|
Android DB 서버에서 다운받기, 연동 (0) | 2017.01.26 |
안드로이드 아름다운 카드뷰(Card View) 리스트 만들기 - (4) (1) | 2016.12.13 |
안드로이드 아름다운 인트로 화면 만들기 (1) | 2016.08.17 |
안드로이드 앱 성능을 최적화 하는 방법 - (1) Render (0) | 2016.08.04 |