写这个工类的目的:
- 1.用于控制log的输出
- 2.提高效率。【比如不想要log的时候不能一个一个去注释掉。】
如何控制
import android.util.Log;
public class LogUtils {
//項目報名稱
public static String sLogName = "LogUtils";
//控制log的輸出
public static boolean sIsShow = false;
/**
* 在application中調用
* @param logName 項目報名稱
* @param isShow 控制log的輸出
*/
public static void init(String logName, boolean isShow) {
//給靜態變量賦值不需要this
sLogName = logName;
sIsShow = isShow;
}
/**
*
* @param TAG 類名
* @param content log的内容
*/
public static void d(String TAG, String content) {
if (sIsShow) {
Log.d("[" + sLogName + "]" + TAG, content);
}
}
public static void v(String TAG, String content) {
if (sIsShow) {
Log.v("[" + sLogName + "]" + TAG, content);
}
}
public static void w(String TAG, String content) {
if (sIsShow) {
Log.w("[" + sLogName + "]" + TAG, content);
}
}
public static void e(String TAG, String content) {
if (sIsShow) {
Log.e("[" + sLogName + "]" + TAG, content);
}
}
public static void i(String TAG, String content) {
if (sIsShow) {
Log.i("[" + sLogName + "]" + TAG, content);
}
}
}
解析:
给出项目包名称的作用:
- 识别这个log日志所在应用程序是哪个。
工具类的特点
- 工具类,需要把它的成员全部变成静态,这样才有意义。
- 需要注意静态成员变量赋值,不需要this,负责找不到。如下这一句:
public static String sLogName = "LogUtils";
public static boolean sIsShow = false;
public static void init(String logName, boolean isShow) {
//給靜態變量賦值不需要this
sLogName = logName;
sIsShow = isShow;
}
想问的问题:
- 如果有很多工具类,并且都是静态的,那么这样会不会比较占内存呢?如果比较占内存会不会有更好的方法呢?