Android StudioでC言語でいうところのTRACE
マクロ的なデバッグ時のみに出力しつつ、リリース時にパフォーマンスに影響を与えない関数を作りたい!
概要
今回の記事では、Android StudioでC言語でいうところのTRACE
マクロ的なデバッグ時のみに出力しつつ、リリース時にパフォーマンスに影響を与えない関数を作る手順を掲載する。
仕様書
環境
- Android Studio Dolphin 2021.3.1 Patch1
- Java 1.8(8)
手順書
まずTRACE
マクロの代わりになる関数を作っておく。
package com.nekonium;
import ...
public class Utils
{
public static void trace(String tag, String message) {
if (BuildConfig.DEBUG) {
Log.d(tag, message);
}
}
Android Studioの標準機能であるProGuardを使うのでProGuardが有効になってるか確認する。ProGuardの設定ファイルの場所はGradle Scripts/build.gradle(Module:app)
の中にある。(デフォルトで有効になってるはず多分)
...
android {
...
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
...
}
...
}
こんな感じになってればProGuardは有効になってる。
ProGuardの設定ファイルGradle Scripts/proguard-rules.pro
に先程作ったTRACE
マクロの代わりになる関数を設定する。
-assumenosideeffects class com.nekonium.Utils {
public static void trace(java.lang.String, java.lang.String);
}
この設定でrelease
ビルド時はcom.nekonium.Utils.trace
は処理を行わなくなる。
まとめ(感想文)
release
ビルド時にパフォーマンスに影響を与えなくなるってのが良い。