3

背景:ワークアウトアプリは、継続的なタイムラインを持つように設計されており、リアルタイムで実行しているエクササイズと担当者を入力し、結果をリアルタイムでグラフ化できます。

問題:iPhoneのスリープ時間が長すぎると、タイムラインの連続性が失われ、再起動します。アプリがスリープしている間、タイムラインを更新し続ける方法がわかりません。私は彼に、iPhoneの内部時計に電話をかけて、視聴者がどこにいるべきかを計算し、タイムライン上のそのポイントに移動するように依頼しました。しかし、彼はこれを行う方法を理解することはできません。

解決策:とにかく内部時計にこの呼び出しを行うことを聞いたことがありますか?おそらくもっと良い質問ですが、一般的な問題を回避する別の方法を考えられますか?

4

2 に答える 2

1

mach_absolute_timeを秒単位で返すCACurrentMediaTimeを試すことができます。これは、睡眠中は正確である必要があります。

于 2010-07-16T02:15:53.300 に答える
1

アプリが永遠にバックグラウンドで実行されることを保証できる特定の方法はありません。(これが必要な場合)スティーブがマルチタスクであると言ったとしても、iPhoneのリソースは非常に限られており、これは、アプリがバックグラウンドにあるときに、通知なしにアプリが強制終了される可能性があることを意味します。(バックグラウンドに入るときに受け取る通知を除く)

あなたができる最善のことはあなたの資源使用量を低くすることです。(できるだけ多くのオブジェクトを解放します)システムがメモリを必要とするとき、より多くのリソースを使用するアプリから始めて、バックグラウンドでアプリを強制終了し始めるためです。

ストリーミングプロトコルを実装している場合は異なります。

お役に立てれば

于 2010-07-16T02:18:50.237 に答える