5

これは、Android 開発者の間で一般的な方法であることがわかります。

public final class TasksSample extends ListActivity {
    private static final String TAG = "TasksSample";
    private void method() {
        Log.i(TAG, "message");
    }
}

このようにすると、簡単になりますか?新しいクラスごとに TAG を宣言する必要はありません。

public final class TasksSample extends ListActivity {
    private void method() {
        Log.i(getClass().getName(), "message");
    }
}  
4

4 に答える 4

13

getClass().getName()特定のアクティビティでログが配置されている場所ごとに書き込むよりもTAG、アクティビティ クラスの名前を表す を常に使用することをお勧めします。

Why use TAG?

アプリケーションを実行しているとき、複数の Activity クラスが含まれている場合があります。どのアクティビティ クラスが情報をログに記録したかを区別するために、もちろんクラスの名前を表すlogcatを使用します。TAG

そして、TAGを書く適切な方法(あなたが書いたことが間違っていると言っているわけではありません)は次のとおりです。

private static final String TAG = TasksSample.class.getSimpleName(); // and not "TasksSample"
于 2012-06-28T07:29:08.893 に答える
1

毎回関数を呼び出すのは有料でありgetClass().getName()、システムに何かをログインするたびに2つの関数を呼び出します(すでに長いプロセス)。

final static Stringそのため、同じ関数を何度も呼び出すのではなく、タグを保存することをお勧めします。

于 2012-06-28T07:27:33.060 に答える
0

はい、それは一般的な方法であり、ロギングとデバッグのために Google によってサポートされています。使用する場合は毎回getClass().getName()呼び出す必要があるため、TAG を使用するより良いアプローチです。getClass().getName()

実際getClass().getName()にはクラス名を返します。ここで、TAG はクラスのわかりやすい名前/識別を表します。

于 2012-06-28T07:45:21.813 に答える