LogCat显示中文为乱码

来源:互联网 发布:sql select 模糊查询 编辑:程序博客网 时间:2024/06/06 01:06

     很多在开发调试Android软件的网友可能会发现Logcat打印中文输出的为乱码,即使是设置DDMS的字符集为UTF-8问题依旧

   一、简单调试

   我们自己封装一个Toast调试显示类即可,但Toast的显示速度和开销相对较高,每次显示从底层来看均为线程处理,资源有些浪费,不过常规的提示性可以使用Toast.makeText这种方法来显示结果,目前来看还从来没有遇到中文显示乱码的情况。当然这种方法解决也有局限性无法显示,涉及到Context问题,有些情况下如果数据量过多,或性能敏感的调试就需要考虑使用下一种方法了。

   二、Log文件类

  自己定义一个文件类,我们通过生成TXT文本的方式来调试Android程序代替Logcat,但是同样的方法牵扯到I/O,读写rom或sdcard都会造成很多的性能影响,那么处理的方法很简单,定义一个临时变量,我们以缓存的方法来一次性写入,当然是用Java提供我们的BufferedoutputSream类来一次性输出也是不错的选择。

   这个问题的原因主要是android内核的再logcat源码中处理编码上没有考虑字符集,可能也是考虑到效率问题,不过在调试一些xml文件时可能Log文件类是最好的方法了。