私は拡張現実感でアプリを作っています。
基本的に私が持っているのは、カメラからの画像、レーダーの視界、およびスクリーン上のいくつかのマーカーである。
CLLocationManagerを使用して、見出しと場所の更新を取得しています。
レーダーの回転がそれに依存しているため、常に見出しの更新がオンになっている必要があります。私は自分の位置を取得するために位置更新を使用しており、それに基づいて私は表示するマーカーを探しています。
問題は、私が両方の電源をオンにしたときに、少し時間が過ぎてiPhoneが過熱しているということです(10分 - 分)。私は精度を100メートルごとに設定し、距離フィルタを100に設定しました。
タイマーを設定して過熱を防止するために位置を更新し始める必要がありますか?これには他の方法がありますか?
アドバイスをいただきありがとうございます。CLLocationManager iPhoneオーバーヒート
0
A
答えて
1
これは「タイムプロファイラ」楽器ユーザーには本当に良い時間です。私はGPSを使用して熱の一部を担当していると確信していますが、CPUやGPUをあまりにも多用しているコードの他の部分を簡単に持つことができます。
また、OpenGLのパフォーマンスツールもあります。GPUに課税している部品が見つからないかどうかを調べるために、私はそれを見ていきます。
もう1つの可能性は、AVFoundationを使用してカメラ画像を取得し、オーバーレイしているビデオ画像にあまり高価でないプレビューパラメータを指定できるかどうかを調べることです。
-1
- (id) init
{
self = [super init];
if (self != nil)
{
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
}
return self;
}
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
NSLog(@"Location: %@", [newLocation description]);
[self.delegate locationUpdate:newLocation];
}
- (void)locationManager:(CLLocationManager *)managerdidFailWithError:(NSError *)error;
{
[self.delegate locationError:error];
NSLog(@"Error Error: %@",[error description]);
}
これらの代理関数は、MyCLConrolleer.mクラスを呼び出します。
このクラスをこのようなViewControllerクラスに割り当てます。ビューコントローラクラスの
locationController = [[MyCLController alloc] init];
locationController.delegate = self;
[locationController.locationManager startUpdatingLocation];
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
[locationManager startUpdatingLocation];
locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;
showCurrentLocation = NO;
委任機能
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
[self getLocationNameWithLatitude:newLocation.coordinate.latitude longitude:newLocation.coordinate.longitude];
}
関連する問題
- 1. CLLocationManagerがiPhoneシミュレータで起動しない
- 2. CLLocationManager
- 3. CLLocationManagerクラッシュアプリ
- 4. CLLocationManager - iPhoneのリアルタイム速度を計算する
- 5. iPhone CLLocationManagerは0.5秒ごとに更新します
- 6. iphone CLLocationmanagerリージョン監視コールバックがトリガーされない
- 7. CLLocationManagerのタイムスタンプと座標
- 8. CLLocationManager実行ループ
- 9. CLLocationManagerの問題
- 10. CLLocationManagerとdistanceFilter?
- 11. CLLocationManager startUpdatingLocationとstartMonitoringSignificantLocationChanges
- 12. エラー:CLLocationManager headingAvailable
- 13. CLLocationManager、コアデータと配列
- 14. CLLocationManagerのアクセス許可
- 15. CLLocationManagerは、iphoneのために最高の精度を保証します
- 16. CLLocationManagerは、任意のデリゲートメソッド
- 17. CLLocationManagerのデフォルトの座標値
- 18. CLLocationManager didEnterRegion間違っ通知
- 19. 停止CLLocationManagerのObjective-C
- 20. CLLocationManagerを作成するときにCLLocationManagerデリゲートを割り当てる
- 21. WatchOS 2:CLLocationManagerに「speed」プロパティがありません
- 22. CLLocationManagerはインターネットなしでも動作しますか?
- 23. iPhoneSimulatorを使用してCLLocationManagerをテストする方法
- 24. 私はホームボタンをタッチするとCLLocationManagerを停止したい -
- 25. CLLocationManagerがWi-Fi経由でロケーションを更新しない
- 26. CLLocationManagerが停止/解放していない
- 27. CLLocationManager startUpdating UIButtonを使用した位置
- 28. CLLocationManagerのプラグインを作成する
- 29. iPad - CLLocationManagerとCLLocationプロパティの問題 "コース"
- 30. CLLocationManager()場所はシミュレータではゼロです
どうやらCPUを何とかしすぎているようですね。私は以前、Nokiaの携帯電話のCPUループにアプリがぶつかり、スクリーンを一緒に保持している接着剤を柔らかくするためにアプリが過熱していました。あなたのアプリがイベントを待っていなければならないときに、どこかの "スピンループ"にいないことを確認してください。 –
@HotLicks私はそれが悪いとは思わない:)私はそれが暖かい(私はそれが暖かく見るために私のために奇妙なので、iPhoneは本当に頻繁に発熱しない)ことを意味する右上の角がカメラがある場所も)。私はKendallが提案し、何が起こるかを見て、時間プロファイラをチェックします – haluzak