バックグラウンドでの過度のモバイル ネットワーク使用量
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
アプリがバックグラウンドでモバイル ネットワークに接続すると、アプリが CPU を復帰させ、無線通信がオンになります。これが繰り返されると、デバイスのバッテリーが消耗する可能性があります。PROCESS_STATE_BACKGROUND
または PROCESS_STATE_CACHED
状態のアプリは、バックグラウンドで実行されているとみなされます。
このページでは、アプリがバックグラウンドでの実行中にモバイル ネットワークを過度に使用している原因を特定する方法と、その対処方法について説明します。
問題を検出する
バックグラウンドでの実行中にアプリが過度にネットワークを使用していることを常に把握できるとは限りません。アプリをすでに公開している場合は、Android Vitals で問題を認識し、解決できます。
Android Vitals
Android Vitals を使用すると、アプリがバックグラウンドでモバイル ネットワークを過度に使用しているときに、Google Play Console を介してアラートを受け取ることができます。これは、アプリのパフォーマンスの改善に役立ちます。
Android Vitals は、アプリがバックグラウンドでの実行中に 1 日あたり合計 50 MB を送受信している場合、バックグラウンドのネットワーク使用量が過度であると判断します。Google Play Console では、この動作を示すバッテリー セッションの割合を確認できます。
バッテリー セッションの定義は、プラットフォームのバージョンによって異なります。
- Android 10 のバッテリー セッションは、指定された 24 時間以内に受信したすべてのバッテリー レポートが集約されたものです。バッテリー レポートは、2 回の充電(バッテリー残量が 20% 未満から 80% 超まで、または任意の充電レベルから 100% まで)の間隔を指します。
- Android 11 のバッテリー セッションは、固定の 24 時間です。
Google Play が Android Vitals のデータを収集する方法については、Google Play Console のドキュメントをご覧ください。
モバイル ネットワーク使用状況を調査する
Battery Historian などのツールは、アプリのモバイル ネットワーク使用状況をより詳しく分析するために役立ちます。Battery Historian は、アプリごとにモバイル無線通信の使用を可視化します。これは、アプリで起きていることを明確に把握するのに役立ちます。Battery Historian の詳細については、Battery Historian を使用した消費電力の分析をご覧ください。アプリのモバイル ネットワーク使用状況を調査する際は、Mobile network use のラインに特に注意してください。
Battery Historian の使用方法については、Batterystats と Battery Historian のチュートリアルをご覧ください。
モバイル ネットワーク使用量を減らす
アプリのモバイル ネットワーク使用状況をフォアグラウンドに移動し、ダウンロードが進行中であることをユーザーに通知して、ダウンロードを一時停止または停止するコントロールをユーザーに提示できます。これを行うには、DownloadManager
を呼び出し、必要に応じて setNotificationVisibility(int)
を設定します。
あなたへのおすすめ
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-07-27 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-07-27 UTC。"],[],[],null,["# Excessive Mobile Network Usage in Background\n\nWhen an app connects to the mobile network in the background,\nthe app wakes up the CPU and turns on the radio. Doing so\nrepeatedly can run down a device's battery. An app is considered to be running\nin the background if it is in the `PROCESS_STATE_BACKGROUND` or\n`PROCESS_STATE_CACHED` state.\n\nThis page explains how to determine why your app is excessively using the\nmobile network while running in the background, and what to do about it.\n\nDetect the problem\n------------------\n\nYou may not always know that your app is making inordinate use of the\nnetwork while running in the background. If you have already published\nyour app, Android vitals can make you aware of the problem so that you can fix\nit.\n\n### Android vitals\n\nAndroid vitals can help improve your app's performance by alerting you via the\n[Play Console](https://play.google.com/console/) when your app is\nusing the mobile network excessively in the background.\n\nAndroid vitals considers background network usage excessive when an app is\nsending and receiving a combined total of 50 MB per day while running in the\nbackground. In Play Console you can check percentage of *battery sessions*\nthat exhibit this behavior.\n\nThe definition of *battery session* depends on the platform version.\n\n- In Android 10, a battery session is the aggregation of all battery reports received within a given 24-hour period. A *battery report* refers to the interval between two battery charges either from below 20% to above 80% or from any charge level to 100%.\n- In Android 11, a battery session is a fixed 24-hour period.\n\nFor information on how Google Play collects Android vitals data, see the [Play\nConsole](https://support.google.com/googleplay/android-developer/answer/7385505)\ndocumentation.\n\nInvestigate mobile-network-usage behavior\n-----------------------------------------\n\n| **Warning:** Battery Historian is no longer actively maintained; if possible, consider using [system tracing](/topic/performance/tracing), the [Macrobenchmark](/topic/performance/benchmarking/macrobenchmark-overview) power metric, or the [Power Profiler](/studio/profile/power-profiler) to get insights into battery performance.\n\nTools such as Battery Historian can help you gain more insight into your\napp's mobile-network usage. Battery Historian provides a visualization of\nmobile-radio use on a per-app basis, which can help you gain a clearer\npicture of what's happening with your app. For more information about Battery\nHistorian, see\n[Analyzing Power Use with Battery Historian](/topic/performance/power/battery-historian#asd).\nIn investigating your app's mobile-network-usage behavior, you should take\nparticular note of the *Mobile network use* line.\n\nFor information about the mechanics of using Battery Historian, see\n[Batterystats and Battery Historian Walkthrough](/topic/performance/power/setup-battery-historian).\n\nReduce mobile network usage\n---------------------------\n\nYou can move your app's mobile-network usage to the foreground, alerting\nthe user to the fact that a download is in progress, and providing them\nwith controls to pause or stop the download. To do so, call\n[`DownloadManager`](/reference/android/app/DownloadManager), and set\n[`setNotificationVisibility(int)`](/reference/android/app/DownloadManager.Request#setNotificationVisibility(int))\nas appropriate.\n\nRecommended for you\n-------------------\n\n- Note: link text is displayed when JavaScript is off\n- [Excessive Wi-Fi Scanning in the Background](/topic/performance/vitals/bg-wifi)"]]