常規計算方法運行時間
在一些耗時的操作中,我們需要計算方法運行了多少時間,以便於我們分析代碼。常規的方法主要是在方法(函數)執行前得到當前時間戳 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();
}
});
記錄一下,以便於查看