计算APP在一个月内的网络流量统计
Calculate network traffic stats of app during a month
我想计算我的应用在一个月内的网络量 usage/network 流量统计信息。
我可以使用 TrafficStats 来提供网络流量统计信息,但是此 class 返回的统计信息会在每次重新启动后重置并从零开始。我考虑将统计数据存储在存储上,但我想要另一种方式。
所以我改用NetworkStatsManager来计算,但大部分方法都要求API >= 23.
那么 api 小于 23 怎么办呢?谢谢。
您应该在某个时间间隔将来自流量统计数据的数据保存在 sqlite
中。并存储关机前的最后读数
广播接收器中的操作 android.intent.action.ACTION_SHUTDOWN
。重新启动后,您应该再次开始存储数据。这样,您就不会丢失数据。该解决方案适用于所有 android 版本。
I can use TrafficStats to provides network traffic statistics, but the
statistics returned by this class reset and start from zero after
every reboot.
将这些数据存储在某个地方如何?例如。在 SharedPreferences、SQLite 数据库或其他地方。之后,您的数据将在重启后持久化,您可以累积计算结果。
即使我们将数据持久化到sqlite中,也没有必要在设备关闭后将该值重置为零。在那种情况下,是否将之前存储的字节与我们在重置后获得的值相加会产生混淆,因为该值在关闭后并不总是零。
我想计算我的应用在一个月内的网络量 usage/network 流量统计信息。
我可以使用 TrafficStats 来提供网络流量统计信息,但是此 class 返回的统计信息会在每次重新启动后重置并从零开始。我考虑将统计数据存储在存储上,但我想要另一种方式。
所以我改用NetworkStatsManager来计算,但大部分方法都要求API >= 23.
那么 api 小于 23 怎么办呢?谢谢。
您应该在某个时间间隔将来自流量统计数据的数据保存在 sqlite
中。并存储关机前的最后读数
广播接收器中的操作 android.intent.action.ACTION_SHUTDOWN
。重新启动后,您应该再次开始存储数据。这样,您就不会丢失数据。该解决方案适用于所有 android 版本。
I can use TrafficStats to provides network traffic statistics, but the statistics returned by this class reset and start from zero after every reboot.
将这些数据存储在某个地方如何?例如。在 SharedPreferences、SQLite 数据库或其他地方。之后,您的数据将在重启后持久化,您可以累积计算结果。
即使我们将数据持久化到sqlite中,也没有必要在设备关闭后将该值重置为零。在那种情况下,是否将之前存储的字节与我们在重置后获得的值相加会产生混淆,因为该值在关闭后并不总是零。