常规计算方法运行时间
在一些耗时的操作中,我们需要计算方法运行了多少时间,以便于我们分析代码。常规的方法主要是在方法(函数)执行前得到当前时间戳 startTime ,方法执行后再次取当前时间 endTime , 方法运行时间 runTime = endtime - startTime ,见下面代码。
long startTime = System.currentTimeMillis(); //起始时间
doSomething();
long endTime = System.currentTimeMillis(); //结束时间
long runTime = endTime - startTime;
Log.i("test", String.format("方法使用时间 %d ms", runTime));
统计方法少的时候,这个方法还是比较好的,也就是做一些简单预算,但需要统计的方法多了,就要重写一些 long startTime 、 long endTime、System.currentTimeMillis() ,再简单的事情重复多了也会厌烦,就想着在上面的代码简单封装下,达到只调用一个方法,就能统计方法运行时间。
简单封装
先创建一个接口和一个方法。
public interface CallBack {
//执行回调操作的方法
void doSometing();
}
public static void countTime(CallBack callBack) {
long startTime= System.currentTimeMillis(); //起始时间
callBack.doSometing(); ///进行回调操作
long endTime = System.currentTimeMillis(); //结束时间
log.i("test",String.format("方法使用时间 %d ms", endTime - startTime)); //打印使用时间
}
在需要计算时间的地方就可以调用了 ,
countTime(new CallBack() {
@Override
public void doSometing() {
//耗时的操作方法 do();
}
});
记录一下,以便于查看