如何获取 Android 上视频流应用程序的网络流量统计信息?
我正在尝试自己编写一个网络流量监控应用程序。我一直在使用 TrafficStat 来获取每个应用程序的网络流量统计信息。但对于像 YouTube 这样的视频应用程序,TrafficStat 无法捕获流数据。相反,流数据被捕获在“android.process.media”中。有时,它是由 TrafficStat 中的总网络流量 API 而不是每个应用程序 API 捕获的。如果只有一个视频应用程序,比如 YouTube,我总是可以将“android.process.media”部分捕获的数据使用情况分配回 YouTube。但有些人的手机上有多个不同的视频应用程序,并且这些应用程序通常使用相同的方法来传输视频。因此我无法区分每个视频应用程序消耗了多少数据。
从Android市场,我找到了我的数据管理器,这似乎正确捕获了每个视频应用程序的数据使用情况。所以我认为一定有办法做到这一点。但我花了很多时间寻找解决方案。还没有成功。有谁知道该怎么做?
===== 2014 年 2 月 5 日更新 ====
我碰巧与在 Google 活动中实现 Android TrafficStat 的人交谈过。他告诉我 TrafficStat 的早期版本(Gingerbread 和早期版本)存在缺陷。 ICS 或更高版本中的新内容应该是正确的。我没有测试新版本。因此请谨慎使用。
I am trying to write a network traffic monitor application myself. I have been using the TrafficStat to get per app network traffic stat. But for video applications like YouTube, the streamed data cannot be captured by TrafficStat. Instead, the streamed data is captured in "android.process.media". Sometimes it is captured by the total network traffic API in TrafficStat instead of the per app API. If there is just one video application, say YouTube, I can always assign the data usage captured by "android.process.media" part back to YouTube. But some people have multiple different video applications on the phone and those applications usually use the same method to stream video. Thus I cannot distinguish how much data each video app consumes.
From Android market, I found My Data Manager, which seems to correctly capture each video application's data usage. So I assume there must be a way to do it. But I have spent a lot of time searching the solutions. Not successful yet. Does anyone know how to do it?
===== Update on 02/05/2014 ====
I happened to talk to the guy who implements Android TrafficStat in a Google event. He told me that earlier versions (Gingerbread and eariler) of TrafficStat is buggy. The new ones in ICS or later should be correct. I didn't test the new versions. So use it with caution.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用 shell 中的 netstat 命令来查找网络统计信息希望此链接对您有帮助
http://en.wikipedia.org/wiki/Netstat
You can use netstat command with shell to find network statistic hope this link will help you
http://en.wikipedia.org/wiki/Netstat