【发布时间】:2015-01-01 18:17:31
【问题描述】:
我们的 Android 应用拥有超过一百万的活跃用户。我们最近开始收到来自用户的反馈,他们抱怨我们的应用在后台消耗大量网络数据(每周大约 0.5-3 GB)。
应用程序在后台没有任何操作,除了没有任何网络调用的推送通知接收器。一周的后台数据消耗应该小于10兆。
当我的应用处于后台时,是否有代码可以帮助我检测造成这种数据消耗的原因?
当我的应用处于后台时,是否有办法限制来自所有 SDK 的数据访问?
一般来说,解决此类问题的最佳方法是什么?
谢谢
更新:
在我们的案例中,我们最终发现问题的根源在于我们与应用集成的 SDK。
如果您有同样的问题,我建议您仔细查看应用中的所有第 3 方代码,尤其是您添加的新库。
其次,检查您的应用在清单中定义的所有服务,仔细查看这些服务中是否有任何可能导致此问题。
第三,在应用程序中寻找使用网络操作和重试机制的地方,可能会有一个无限的“while循环”试图将一些数据发送到服务器(可能是某种报告或分析)。
【问题讨论】:
-
你的意思是连接数据?
-
是的,网络消费
-
您需要提供更多信息。您的应用程序应该在后台做什么?它如何连接到互联网?您是否计算过您的应用应该使用多少数据以及该值与 0.5-3gg 的值有何不同?
-
应用程序在后台没有任何操作,除了没有任何网络调用的推送通知接收器。一周的后台数据消耗应该小于10兆。我的猜测是某些 SDK 导致了这种情况,但我不知道如何检测是哪一个
-
通过应用管理器检查是否有任何服务或进程正在运行?
标签: android networking