问题描述:
世事无常,大肠包小肠!啥问题都会遇到,啥问题都得解决呐!
前段时间代码调试中遇到一个问题,正常连接手机测试程序,logcat就突然不打log了,一开始我以为是devices断开了,于是重新连接了一下,结果再次运行的时候还是出现此问题。。。
于是乎就看了一下logcat 中打出 Android logcat: Unexpected EOF ! 这样的log,然后logcat卡住不动了,然后看了下才知道是logcat crash了
问题定位:
程序在请求数据成功时,由于数据量太大,使用的LogUtil打印时超出了日志缓冲区大小才导致logcat crash
解决方案:
根据提示我们可以通过图片中的提示来查看下当前日志缓冲区的大小。
打开Terminal,输入 adb logcat -g 查看下日志缓冲区大小,默认大小应该都是256KB的。
方案一:命令行(临时更改)
在terminal中直接输入下述命令可以临时更改缓冲区大小,devices断开后会自动恢复至默认大小
logcat -G 4M
方案二:设置-开发者选项(临时更改)
打开手机设置中开发者选项,点击日志缓冲区大小更改。关闭开发者选项时再次打开会自动恢复至默认大小
方案三:shell(永久更改)
通过terminal输入下述命令实现永久更改日志缓冲区大小
adb shell
setprop persist.logd.size 8M
还有什么其他方法大家可以评论区讨论学习
整理不易,转载请注明出处,谢谢!