Android studio中log的内容不完整(log被截断)
今天在调试Android程序的时候,想要log一段json数据,数据挺大的,折腾了半天,原来以为是JSON的长度会不会是有上限的,经过搜索发现并没有,参考StackOverflow的两个问题android - What is limit of json array and how to overcome it - Stack Overflow和Is there a limit on how much JSON can hold? - Stack Overflow。此外,还试图研究Java中String的长度上限,参考这篇文章java中String类型的最大长度_cyw1900的专栏-CSDN博客_string类型的最大长度,发现String的上限远比我的数据要大的多,总结就是String类型的长度为320339960,其最大容量不超过1个G。
后来发现是Android studio的log的字符串长度是有上限的,logcat在实现上对于message的内存分配大概是4k左右,实际上根据我的个人的log来看,截取的部分大约是4056个字符串,超过的部分都会被截断。经过搜索,发现网上一个博主自己定义一个debug工具类切分超过4k的message,来解决这个问题。
实现如下:
1 | class DebugUtils { |
本文参考文章:android的logcat的message有字符长度的限制,超过将直接截断,仅作为个人笔记记录。