android 中的log.i 和log.d 有什么区别
时间: 2023-10-16 20:10:43 浏览: 382
在Android中,Log.i和Log.d都是用于输出Log信息的方法。
Log.i方法用于输出一般信息,通常用于帮助调试和了解程序的运行情况。它的优先级是Info级别,对应的是Logcat中的I标签。
Log.d方法用于输出调试信息,通常用于更详细的调试。它的优先级是Debug级别,对应的是Logcat中的D标签。
它们的区别在于输出的优先级不同,以及输出的详细程度不同。在一般情况下,建议使用Log.i方法输出一般信息,使用Log.d方法输出详细的调试信息。在发布版本时,应该将所有的Log信息都关闭,以提高程序的性能和安全性。
相关问题
修改下面代码,使得com.wing.MyBroadcastReceiver监听到广播android.intent.action.TEST_BROADCAST的时候启用com.modemdug.ModemDumpCollectservice,而不是com.wing.ModemDebugService package com.example.myapplication; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.Handler; import android.util.Log; public class MyBroadcastReceiver extends BroadcastReceiver { private static final String TAG = "MyBroadcastReceiver"; private static final int SERVICE_STOP_DELAY = 1* 60 * 1000; // 5分钟 private Context mContext; private Handler mHandler = new Handler(); private Runnable mStopServiceRunnable = new Runnable() { @Override public void run() { stopModemDebugService(); } }; @Override public void onReceive(Context context, Intent intent) { mContext = context; // TODO Auto-generated method stub if(null == context){ return; } Log.d(TAG, "onReceive: " + intent.getAction()); if (intent.getAction().equals("android.intent.action.TEST_BROADCAST")) { startModemDebugService(); mHandler.postDelayed(mStopServiceRunnable, SERVICE_STOP_DELAY); } } private void startModemDebugService() { Intent intent = new Intent(mContext, ModemDebugService.class); Log.d(TAG,"receiver ACTION BOOT COMPLETED"); Log.d(TAG,"Globle version start ModemDebugservie"); mContext.startService(intent); Log.i(TAG,"startService ModemDebug Service"); } private void stopModemDebugService() { Intent intent = new Intent(mContext, ModemDebugService.class); Log.d(TAG,"receiver tiemr out ACTION BOOT COMPLETED"); Log.d(TAG,"Globle version end ModemDebugservie"); mContext.stopService(intent); Log.i(TAG,"StopService ModemDebug Service"); } }
请将以下代码替换为 `startModemDebugService()` 方法:
```java
private void startModemDebugService() {
Intent intent = new Intent("com.modemdug.ModemDumpCollectservice");
Log.d(TAG, "receiver ACTION TEST_BROADCAST");
Log.d(TAG, "Globle version start ModemDumpCollectservice");
mContext.startService(intent);
Log.i(TAG, "startService ModemDumpCollectservice");
}
```
这将使用 `Intent` 启动名称为 `com.modemdug.ModemDumpCollectservice` 的服务。
log.d和log.e
log.d和log.e是Android开发中常用的日志输出方法。
log.d是用于输出调试信息的方法,其中的"d"表示debug。它用于在开发过程中输出一些调试信息,可以帮助开发者追踪代码执行过程中的变量值、方法调用等。通常用于输出一些辅助调试的信息,例如方法的入参和出参,中间变量的值等。在发布版本时,这些调试信息通常会被去掉。
log.e是用于输出错误信息的方法,其中的"e"表示error。它用于记录程序中的异常或错误情况,例如空指针异常、网络请求失败等。输出的错误信息通常会包含异常堆栈信息,帮助开发者定位并解决问题。
这两个方法都是通过Android系统提供的日志工具类Log来实现的。在开发过程中,可以使用Log类的不同方法根据需要输出不同级别的日志信息。除了log.d和log.e,还有其他级别的日志输出方法,如log.i(info)、log.w(warn)等。
阅读全文