2010-09-01 39 views
13

Tôi có ít nhất hai bộ điều khiển trong ứng dụng hiện đang sử dụng cá thể CLLocationManager của riêng chúng. Tôi tò mò tuy nhiên nếu sử dụng nhiều trường hợp thực sự áp đặt bất kỳ gánh nặng bổ sung trên điện thoại - ngoài bộ nhớ bổ sung cho các trường hợp khác nhau.Có bất kỳ hình phạt về hiệu suất nào khi sử dụng nhiều phiên bản CLLocationManager

iPhone sẽ ping phần cứng GPS nhiều lần, hoặc sử dụng một số loại công văn sao cho phần cứng bị trừu tượng và chỉ chuyển tiếp đến tất cả người nghe? Tôi sắp viết lớp trừu tượng của riêng mình để xử lý nhiều người quan sát nhưng muốn kiểm tra xem có bất kỳ kiến ​​thức nào ở đó để đề xuất không cần thiết.

Trả lời

10

Tôi sẽ nói không, đó sẽ không phải là vấn đề hoặc hình phạt về hiệu suất. Có nhiều phiên bản của CLLocationManager trong một ứng dụng không tốn kém nhiều hơn là có nhiều ứng dụng trong nền tất cả với CLLocationManagers. Hệ điều hành cấu hình các radio GPS/cell để sử dụng năng lượng tối thiểu dựa trên các yêu cầu kết hợp của tất cả các CLLocationManagers. Hãy chắc chắn dừng cập nhật vị trí trên tất cả các trường hợp CLLocationManager khi ứng dụng của bạn không cần nữa (ví dụ: trong applicationWillResignActive :) để có thể tắt h/w GPS để tiết kiệm pin.

+2

"Hệ điều hành định cấu hình radio/GPS cho việc sử dụng năng lượng tối thiểu dựa trên các yêu cầu kết hợp của tất cả các CLLocationManagers." Nó được viết trên tài liệu ở đâu? – vfn

+2

"Hãy chắc chắn dừng cập nhật vị trí trên tất cả các trường hợp CLLocationManager khi ứng dụng của bạn không cần nữa (ví dụ: trong applicationWillResignActive :) để GPS có thể được tắt để tiết kiệm pin". GPS sẽ chỉ tiếp tục hoạt động nếu bạn định cấu hình ứng dụng của mình để nhận cập nhật khi ở chế độ nền (chỉ iOS4), nếu không GPS sẽ bị tắt nếu không có ứng dụng nào khác đang yêu cầu vị trí. Cách tốt nhất là tắt trình quản lý vị trí ngay khi bạn không cần thông tin GPS và không chỉ trên applicationWillResignActive :. Thay đổi "tức là" thành "ví dụ" và bạn sẽ sửa nó. – vfn

+0

bất kỳ tài liệu tham khảo thực tế hoặc ví dụ thế giới thực để sao lưu này hoặc là điều này chỉ là sự hiểu biết của bạn? –

Các vấn đề liên quan