我的android应用程序遇到了一个问题,在后台获取模式下,它一直在为用户下载大量数据。
我确实通过一个警报来调用应用程序来发送本地通知,但仅此而已,除了发送通知之外,它不做任何其他事情。我已经在应用程序中集成了几个广告网络sdks,我怀疑它们可以做到这一点。
有没有什么方法可以让我弄清楚为什么会发生这种情况,比如谁在下载数据。Android只提供应用程序级别的信息。有没有什么方法可以限制应用程序在后台时在移动数据上下载的数据量?
任何帮助或建议都是非常有帮助的。
发布于 2016-01-05 15:12:51
所以我找不到任何这样的方法/工具来告诉sdk消耗了多少数据。这是我找到的解决问题的另一种方法。
为了监控应用程序/sdk的数据使用情况,我们可以在任何机器上创建一个透明代理,然后将设备连接到该代理。因此,应用程序将消耗的所有数据可能是由于sdks位于应用程序端,也可能是因为我们下载的资产将通过此代理进行路由,然后可以对其进行监控。
有几个开源代理,可以用squid,red socks来监控应用程序的数据使用情况。但是同样,这些代理可能需要更多的时间来设置。如果这只是一个短时间的练习,可以使用Charles proxy,这是一个付费的应用程序,但也提供了30天的免费试用会话。
这是一个如何使用Charles documentation http://jaanus.com/debugging-http-on-an-android-phone-or-tablet-with-charles-proxy-for-fun-and-profit/的例子,它在解释和设置代理方面做得很好。
https://stackoverflow.com/questions/34529796
复制相似问题