2012-05-17 52 views
4

Debug.startMethodTracing()默认使用8MB“缓冲区大小”。我有一些关于这个缓冲区的问题。如果缓冲区填充,startMethodTracing()是否返回错误?

  1. 如果缓冲区填充到容量或者是否只是停止记录,是否会引发错误?
  2. 无论写入多少数据,缓冲区是否保持固定的8MB?
  3. 如果我手动指定bufferSize参数,单位是什么?字节? MB?
  4. 我试着将缓冲区大小增加到20MB左右,应用程序退出。我需要记录大约20个实时秒计算值。有什么方法可以记录20MB以上的数据吗?我假设它首先存储在内存中,否则将其存储到SD卡没有问题。

回答

6

我进行了一些测试,发现:

  1. 如果缓冲区填满产能,显示下面的“信息”级别的logcat消息:TRACE STOPPED (NOTE: overflowed buffer): writing X records

  2. 缓冲区是0到1之间8MB,取决于写入的数据量。

  3. bufferSize参数以字节为单位指定。

  4. 要增加模拟设备RAM的数量,请打开AVD管理器并编辑您的虚拟设备。点击新的硬件按钮,然后选择设备内存大小。在我的机器上,我可以输入的最大容量是1GB(值1000)。

相关问题