0

LocationManager を使用するアプリがあります。しばらくの間、重要な場所の変更通知を使用していました。ドキュメントを読んで、次の 2 つのことが真実であると確信しました。

  1. 基本的に「すでに持っている知識を教えてください」と電話に伝えていたので、余分なバッテリーを実際に消費することはありませんでした。
  2. アプリをオフにすると、通知が停止しました。

それを紹介すると、バッテリーが切れたと非難する人からたくさんのメールが届きました。だから私はそれを取り出しました。

アプリが実行されていないときでも、設定/プライバシーの場所の矢印がまだ紫色であることを示すメールを昨日仲間から受け取りました。それは私の電話にも当てはまります。

次の 2 つの可能性しか考えられません。

  1. 新しいバージョンへのアップグレードなどにもかかわらず、重要な変更通知の登録は引き続き有効です。
  2. または、ロケーション マネージャーがオンのときにアプリがクラッシュし、オフにならなかったことがあります。

2は、潜在的に大量のことが起こると思うので、かなり大げさなようです. システムがアプリに対する義務をどのように認識しているか、またそれがいつから有効になっているのかを確認する方法が Instruments にないことに、私は少しがっかりしました。

4

1 に答える 1

0

アプリがアクティブに実行されているだけでなく、どのデリゲートがアプリに対してアクティブであるかを確認できれば便利です。

significantLocationChanges について私が知っていることから、それらは regionMonitoring と同じ原則に沿って機能します。ユーザーがバッテリー寿命について不満を持っている場合、彼らはおそらく他の何かによってやけどを負っています. -significantLocationChanges は、-regionMonitoring よりも場所に使用する項目が少なくなります。私はそれらが厳密にセルタワーに関連していると信じています. 彼らはWifi検出も使用するかもしれませんが、それを宣伝していません.

また、アプリが強制終了された場合や更新とアップグレードの間でも、位置の監視は持続します。アプリがまだ監視している間にアプリをアップグレードしてデリゲート メソッドを削除すると、アプリがどのように動作するかわかりません。コールバックはアプリに通知しようとしますが、メソッドはなくなり、無視されます。単なる推測ですが、テストする価値があるかもしれません。それらをそのままにしておくか、すべての位置監視を削除する方法を使用する価値があるかもしれません. 次に、後の更新ですべてを削除して、まだアクティブな場所コードが残っていないことを確認します.

于 2013-03-26T15:03:00.940 に答える