ライフサイクルイベントがどんな順番で呼ばれているかなど調べるときに、メソッドにログを仕込むことは良くある。これを簡単に実装するには以下のようにする。getStackTrace()[3]の3の理由は0,1にはVMやthreadのメソッド名が入っているため。
public class MyUtils {
public static void log(Object obj) {
Log.d(obj.getClass().getSimpleName(), "(" + obj.hashCode() + "):" + Thread.currentThread().getStackTrace()[3].getMethodName());
}
}
呼び出し側は以下のような感じ。
MyUtils.log(this);
参考: