Android开发之,LogCat无故不打印隐藏深坑

Android开发之,LogCat无故不打印隐藏深坑

最近在项目中遇见一个问题,在日志打印的过程中,发现某些日志不打印出来,这里给大家看看image

看到这里是不是感觉很奇怪,在同一个地方,为什么有些日志打印,有些日志不打印?后来我做了个实验,一个一个字尝试过去,结果如下:image

看到这里其实基本已经结案,就是发现 IMS开头的日志都不会显示 为什么不会显示呢?我们来看一段Logger系统的源码。代码语言:javascript代码运行次数:0运行复制int __android_log_buf_write(int bufID, int prio, const char *tag, const char *msg)

{

struct iovec vec[3];

char tmp_tag[32];

if (! tag) tag = "";

if ((bufID != LOG_ID_RADIO) &&

(!strcmp(tag, "HTC_RIL") ||

(!strncmp(tag, "RIL", 3)) ||

(!strncmp(tag, "IMS", 3)) ||

!strcmp(tag, "AT") ||

!strcmp(tag, "GSM") ||

!strcmp(tag, "STK") ||

!strcmp(tag, "CDMA") ||

!strcmp(tag, "PHONE") ||

!strcmp(tag, "SMS"))) {

bufID = LOG_ID_RADIO;

snprintf(tmp_tag, sizeof(tmp_tag), "use-Rlog/RLOG-%s", tag);

tag = tmp_tag;

}看到这里其实大家已经明白了,其实是当匹配到这些字符串的时候,会呗一个tmp_tag的替代了,而tmp_tag只是进行了申请内存,内容全是空的。所以导致logCat打印不出来。 End. 其实解决方案很简单,在TAG中,要尽量避免这些字符串。

相关推荐

在 文件资源管理器 中设置和使用你的手机 365bet体育在线注册

在 文件资源管理器 中设置和使用你的手机

📅 07-24 👁️ 156
凉飔的解释及意思 best365网页登录不上去

凉飔的解释及意思

📅 08-14 👁️ 6600
横线输入技巧解析:电脑手机多样方法大揭秘 365bet体育在线注册

横线输入技巧解析:电脑手机多样方法大揭秘

📅 07-01 👁️ 1088