3

フロントエンドが PhoneGap で行われる地理追跡アプリがあり、追跡はネイティブ プラグインで行われます。ネットワーク接続を作成するプラグインの唯一の部分は、場所をサーバーに投稿するときです。これは、投稿ごとに 1 kB 未満です。予想通り、トラフィックの大部分は HTML+JavaScript フロントエンドによって処理されます。

しかし先週、Galaxy S4 Mini が数時間で 500 mb のような異常な量のバックグラウンド データを報告するというクレイジーな問題に遭遇しました。これを調査するために、ネットワーク トラフィックのプロファイリングを開始しました。ジオ ロケーションがサーバーに投稿される部分にタグを付け、ddms/monitor でトラフィックを監視しました。ほとんどの場合、アプリは期待どおりに動作しており、PhoneGap によって行われるフォアグラウンド トラフィックが少しあり、プラグイン ロケーション ポストからの小さなトラフィックが時々発生します。アプリをバックグラウンドに置いて監視を続けたところ、1 時間後、突然 ddms がアプリへの一定のトラフィックを示した ここに画像の説明を入力 このトラフィックは、数分後に合計で数 MB に達し、異常なデータ使用システム レポートの理由のようです ここに画像の説明を入力

さらに奇妙なことに、アプリは多くのログを記録します。つまり、PhoneGap はすべての JavaScript の実行と HTML の読み込みなどをログに記録し、私のプラグインは新しい場所を受け取るとすぐにログを記録します。しかし、私のアプリの一部にはまったくログが記録されていません。常にログに記録するのは、 NetworkController が について通知することだけですonDataActivity: direction=X

10-01 13:04:11.273: D/STATUSBAR-NetworkController(1232): onDataActivity: direction=0
10-01 13:04:11.283: D/STATUSBAR-NetworkController(1232): refreshSignalCluster: data=2 bt=false
10-01 13:04:12.294: D/STATUSBAR-NetworkController(1232): onDataActivity: direction=3
10-01 13:04:12.314: D/STATUSBAR-NetworkController(1232): refreshSignalCluster: data=2 bt=false
10-01 13:04:13.325: D/STATUSBAR-NetworkController(1232): onDataActivity: direction=0
10-01 13:04:13.335: D/STATUSBAR-NetworkController(1232): refreshSignalCluster: data=2 bt=false
10-01 13:04:14.206: E/SMD(290): DCD ON
10-01 13:04:14.336: D/STATUSBAR-NetworkController(1232): onDataActivity: direction=3
10-01 13:04:14.336: D/STATUSBAR-NetworkController(1232): refreshSignalCluster: data=2 bt=false
10-01 13:04:14.877: E/Watchdog(769): !@Sync 1881
10-01 13:04:16.358: D/STATUSBAR-NetworkController(1232): onDataActivity: direction=0
10-01 13:04:16.358: D/STATUSBAR-NetworkController(1232): refreshSignalCluster: data=2 bt=false
10-01 13:04:17.049: I/Monitor(769): SIOP:: Current AP = 350, CP = 0
10-01 13:04:17.209: E/SMD(290): DCD ON
10-01 13:04:17.369: D/STATUSBAR-NetworkController(1232): onDataActivity: direction=3
10-01 13:04:17.379: D/STATUSBAR-NetworkController(1232): refreshSignalCluster: data=2 bt=false
10-01 13:04:18.390: D/STATUSBAR-NetworkController(1232): onDataActivity: direction=2
10-01 13:04:18.400: D/STATUSBAR-NetworkController(1232): refreshSignalCluster: data=2 bt=false
10-01 13:04:19.441: D/STATUSBAR-NetworkController(1232): onDataActivity: direction=3
10-01 13:04:19.441: D/STATUSBAR-NetworkController(1232): refreshSignalCluster: data=2 bt=false
10-01 13:04:20.212: E/SMD(290): DCD ON
10-01 13:04:23.215: E/SMD(290): DCD ON
10-01 13:04:23.486: D/STATUSBAR-NetworkController(1232): onDataActivity: direction=0
10-01 13:04:23.486: D/STATUSBAR-NetworkController(1232): refreshSignalCluster: data=2 bt=false
10-01 13:04:24.487: D/STATUSBAR-NetworkController(1232): onDataActivity: direction=3
10-01 13:04:24.487: D/STATUSBAR-NetworkController(1232): refreshSignalCluster: data=2 bt=false
10-01 13:04:26.209: E/SMD(290): DCD ON
10-01 13:04:26.499: D/STATUSBAR-NetworkController(1232): onDataActivity: direction=0
10-01 13:04:26.509: D/STATUSBAR-NetworkController(1232): refreshSignalCluster: data=2 bt=false
10-01 13:04:27.050: I/Monitor(769): SIOP:: Current AP = 350, CP = 0
10-01 13:04:27.520: D/STATUSBAR-NetworkController(1232): onDataActivity: direction=3
10-01 13:04:27.520: D/STATUSBAR-NetworkController(1232): refreshSignalCluster: data=2 bt=false
10-01 13:04:28.531: D/STATUSBAR-NetworkController(1232): onDataActivity: direction=0
10-01 13:04:28.541: D/STATUSBAR-NetworkController(1232): refreshSignalCluster: data=2 bt=false
10-01 13:04:29.192: D/BatteryService(769): update start
10-01 13:04:29.202: D/BatteryService(769): level:89, scale:100, status:2, health:2, present:true, voltage: 4242, temperature: 379, technology: Li-ion, AC powered:false, USB powered:true, Wireless powered:false, icon:17303394, invalid charger:0, online:4, charge type:1, current avg:0
10-01 13:04:29.202: D/BatteryService(769): Sending ACTION_BATTERY_CHANGED.
10-01 13:04:29.202: D/STATUSBAR-BatteryController(1232): onReceive() - ACTION_BATTERY_CHANGED
10-01 13:04:29.202: D/STATUSBAR-BatteryController(1232): onReceive() - BATTERY_STATUS_CHARGING:
10-01 13:04:29.202: D/STATUSBAR-PhoneStatusBar(1232):  mBrightnessEnablebySettings = true mBrightnessEnablebyBattery = true mBrightnessEnablebyDisableFlag = true
10-01 13:04:29.212: E/SMD(290): DCD ON
10-01 13:04:29.542: D/STATUSBAR-NetworkController(1232): onDataActivity: direction=3
10-01 13:04:29.552: D/STATUSBAR-NetworkController(1232): refreshSignalCluster: data=2 bt=false

誰でもこれを説明できますか?私はこの動作を再現しようとしてきましたが、再発しませんが、それでも私を悩ませています.

4

0 に答える 0