Android Developer

[Android] APK 용량 줄이기

졸려질려 2019. 10. 8. 21:53
반응형

APK Size 줄이기

1. ProGuard 를 사용하자.

  • ProGuard 는 사용하지 않는 Java 코드를 제거해준다.
  • Code foot prints 를 줄이는데 굉장히 효과적이다.

2. Split Apk 사용하자.

  • 특정 해상도나, ABI 에 따라 별도 Apk 를 만들 수 있다.
  • 특히 앱 사이즈를 크게 줄여준다.

3. 최종 Apk(+ProGuard) 이후에 Facebook's ReDex 를 이용해 최적화 하자.

  • Code Size 도 줄여줄 뿐만 아니라, 잠재적인 성능향상에도 도움이 된다.

4. 사용하지 않는 XML files 를 확인하자.

  • Lint 같은 툴들이 사용하지 않는 리소스를 체크하고 지워준다.

5. 최대한 Resource 를 줄이자.

  • Gradle 의 shrinkResources 를 사용해서 프로젝트에서 사용되지 않는 리소스를 모두 제거한다.

    • build.gradle 에서 다음과 같은 코드를 추가하면 된다.

      release {
      ...
      shrinkResources true
      ...
      }

  • resConfigs 를 이용해서 필요하지 않은 localized resource 를 제거하자.

    • 대부분의 support libraries 들은 우리에게 필요하지 않은 다른 언어를 위한 localized folders 를 가지고 있을지도 모른다.

      defaultConfig {
      ...
      resConfigs "en", "hi"
      ...
      }

6. Vector Drawables 를 사용하자

  • Vector Drawable 은 앱사이즈를 줄이는데 가장 좋은 방법 중 하나이다.

7. Debug library 를 앱에서 제거하자

  • debugCompile 을 이용해 개발용 버전을 만들 수 있다.

  • database 디버깅을 하기위한 Android Debug Database 같은 것들이 있다.

    debugCompile 'com.amitshekhar.android:debug-db:1.0.1'

8. WebP file format 을 사용하자

  • 이미지를 PNG, JPEG 같은 포맷 대신에 WebP 같은 포맷을 사용할 수 있다.(단, Android 3.2 API 13 이상에서)
  • WebP 포맷은 JPEG 같은 손실압축을 제공하며, PNG 같은 투명색을 지원합니다. 그러나 JPEG, PNG 보다 훨씬 압축률이 좋다.

9. GooglePlayService 에 꼭 필요한 libraries 만 사용한다.

  • 컴파일러가 꼭 필요로 하는 것만

10. 가급적 9-Patch 를 주로 사용한다.

11. 이미지 최적화 : TinyPNG , OptiPNG 같은 최적화 툴을 사용하자.


출처

https://medium.com/@devik/android-apk-%EC%82%AC%EC%9D%B4%EC%A6%88-%EC%A4%84%EC%9D%B4%EB%8A%94-%EB%B2%95-75d45efeadeb

반응형