사용하지 않는 resource 정리.
Android2021. 2. 17. 19:30
프로젝트의 시간이 길어질 수록 사용하지 않는 resource가 많아지는 문제가 있습니다.
리펙토링 하면서 이전 리소스에 대해서 지울 수도 있지만, 명시적으로 지워준다면 id를 만들지 않기 때문에 더 좋을 수도 있죠.
build.gradle 에서
android {
buildTypes {
release {
shrinkResources true
}
}
}
으로 빌드시에 resource정리를 하는 방법도 있지만, 명시적으로 지우는 것을 해볼까 합니다.
android studio 에서 Refactor -> Remove Unused Resources...
라는 메뉴가 있습니다.
해당 기능을 통해서 layout, string, drawable, color, dimen 등등 사용하지 않는 resource를 지울 수 있습니다.
단, 문제가 하나 있는데,
dynamic resource
로 접근하는 부분에 대해서는 걸러주지 않습니다.
그 부분을 해결하기 위해서는
resource 유지를 위해서 keep 처리를 해야 하는데, tools:keep
을 적용하면 됩니다.
예를 들어서, resource.getIdentifier
로 icon_position_
의 prefix로 되는 resource들을 다 유지하고 싶다면,
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
tools:keep="@drawable/icon_position_*">
</resources>
으로 xml resouce파일을 만들어서 관리하면 됩니다. 이 방법은 shrinkResources 로 dynamic resource에 접근하는 것들에 대한 유지 방법과 같습니다.
'Android' 카테고리의 다른 글
다양한 adapter의 결합... concatadapter... (0) | 2021.03.06 |
---|---|
Android Studio.. Logcat 색상 변경. (0) | 2021.02.25 |
Firebase Crashlytics에서 custom UnCaughtExceptionHandler 적용하기. (0) | 2020.12.31 |
Kotlin collection 에서 item들의 sum 계산. (0) | 2020.07.11 |
kotlin 코드 실행시간 측정하기. (0) | 2020.05.17 |