如何衡量我的应用程序的数据使用情况

Sec*_*one 4 networking android 3g

我正在开发一款需要下载大量数据的Android应用.

为了提高可用性,我想测量我的应用产生的数据流量,并在应用下载特定数量的数据时向用户提供提示.

我目前的想法:将所有下载的字节汇总在一起并对指定的限制作出反应.但是,当我在许多不同情况下以及在代码中的许多不同位置下载内容时,是否还有其他可能来衡量每个应用程序的数据使用情况?

AFAIK sys/net/NETINTERFACE/statistics/rx_bytes报告了整个系统的总量,因此这不是一个解决方案.

Com*_*are 13

但是,当我在许多不同情况下以及代码中的许多不同位置下载内容时,是否还有其他可能性来衡量每个应用程序的数据使用情况?

TrafficStats也许可以通过UID报告事情.我说"可能"因为它似乎与设备有关.我怀疑UID会不断报告Android 3.0+,但我的2.2和2.3经验有所不同.

这是一个演示记录此信息的示例应用程序.