8

こんにちは、状況:

スポーツトラッカー/ナビゲーションアプリとして機能するAndroidアプリケーションを開発しているため、GPSへの永続的な接続と、永続的な起動デバイスが必要です。記録は毎秒行われます。

wakelocks現在のソリューションが何年も機能しているのは、デバイスを起動し続けるおかげです。

Android 6.0 以降の Doze モードは状況を複雑にしますが、この場合ではありません。

Huawei デバイスでは、おそらく異なるタイプの最適化です。

ログの一部を次に示します。

10-10 10:33:18.462 1014-384 D/PFW.HwPFWAppWakeLockPolicy: getUidWakeLock uid: 10097 wakelock >= 10 mins 10-10 10:33:18.543 1014-384 D/PFW.HwPFWAppWakeLockPolicy: force stop abnormal wakelock app uid: 10097 10-10 10:33:18.558 1014-384 I/ActivityManager: Force stopping menion.android.locus appid=10097 user=0: from pid 1014

だから約後。30分以上、システムはアプリの使用量が多すぎると判断しwakelocks、すべてのサービス、履歴、単純にkill.

この動作の経験と提案、この単純なタスク (画面がオフのときの GPS 位置の永続的な記録) を改善するにはどうすればよいですか?

最初に書いたように、新しい Huawei を除く他のすべてのデバイスでは、このようなシステムは何年もの間正しく動作します。

編集: 1 人のユーザー (削除された?) のコメントの後に注意してください。Huawei バッテリー マネージャーの「ホワイトリスト」アプリ (「保護されたアプリケーション」としてマーク) は、この問題には影響しません。

4

2 に答える 2