android 打印时间间隔工具类

本文介绍了一个简单实用的工具类TimeUtils,它可以帮助开发者轻松记录并打印出代码中任意两段执行过程之间的时间间隔,方便进行性能分析和优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码里面有时候不太清楚那些代码耗时比较多,这边就是个简单的log提醒,打印当前两个log之间的间隔时间。

/**
 * 
 * @ClassName: TimeUtils
 * @Description: TODO(打印两条log之间的时间)
 * @author wangli
 * @date 2014-1-8 下午4:13:09
 * 
 */
public class TimeUtils {
private static final String TAG = "TimeUtils";


private static boolean mFirstPrintMsg = true;
private static long mTotalTime = 0;
private static long mOldTime = 0;
private static String mOldMsg;


public static void printLog(String msg) {
long mCurrentTime = new Date().getTime();
if (mFirstPrintMsg) {
mFirstPrintMsg = false;
mTotalTime = mCurrentTime;
mOldTime = mCurrentTime;
mOldMsg = msg;
}
Log.d(TAG, "打印时间:" + getCurrentDate(mCurrentTime));
long between = mCurrentTime - mOldTime;
Log.d(TAG, msg + "-距离-" + mOldMsg + "(耗时 " + getMsg(between) + ")");
mOldTime = mCurrentTime;
mOldMsg = msg;
}


public static void printTotalTime() {
long mCurrentTime = new Date().getTime();
mCurrentTime = mCurrentTime - mTotalTime;
Log.d(TAG, "总耗时:" + getMsg(mCurrentTime));
}




public static String getCurrentDate(long time) {
SimpleDateFormat fm2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
return fm2.format(time);
}


public static String getMsg(long between) {
long day = between / (24 * 60 * 60 * 1000);
long hour = (between / (60 * 60 * 1000) - day * 24);
long min = ((between / (60 * 1000)) - day * 24 * 60 - hour * 60);
long s = (between / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);
long ms = (between - day * 24 * 60 * 60 * 1000 - hour * 60 * 60 * 1000
- min * 60 * 1000 - s * 1000);
if (day != 0) {
return (day + "天" + hour + "小时" + min + "分" + s + "秒" + ms + "毫秒");
} else {
if (hour != 0) {
return (hour + "小时" + min + "分" + s + "秒" + ms + "毫秒");
} else {
if (min != 0) {
return (min + "分" + s + "秒" + ms + "毫秒");
} else {
if (s != 0) {
return (s + "秒" + ms + "毫秒");
} else {
if (ms != 0) {
return (ms + "毫秒");
} else {
return (ms + "毫秒");
}
}
}
}
}
}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值