2012-04-08 53 views
16

Tôi đang làm việc trên ứng dụng iOS lý tưởng cần chạy các dịch vụ vị trí trong nền. Tôi đã thử nghiệm vị trí quan trọng và điều đó không đủ chính xác. Vị trí chính xác là hoàn hảo, nhưng điều này tiêu thụ quá nhiều pin để làm cho ứng dụng trở nên khả thi.Giảm vị trí nền iOS Vị trí sử dụng pin

Để khắc phục vấn đề về pin này, tôi nghĩ tôi đã tìm thấy giải pháp sử dụng NSTimer bên trong UIApplication:beginBackgroundTaskWithExpirationHandler:. Thao tác này sẽ bật vị trí bật rồi tắt ngay lập tức, điều này sẽ kích hoạt cập nhật vị trí và đặt lại số backgroundTimeRemaining.

Tuy nhiên, giải pháp này vẫn tiêu hao nhiều pin - 15% -20% cứ sau 3-4 giờ - ngay cả khi vị trí chỉ được bật trong một giây sau mỗi 9 phút. Ứng dụng không chạy bất cứ thứ gì khác trong nền ngoài bộ hẹn giờ này. Tôi thậm chí đã cố gắng phát hành tất cả các quan điểm khi bước vào nền để đảm bảo rằng không có gì ngồi và tiêu thụ pin.

Kiểm tra các công cụ bên trong, tôi thấy ứng dụng đang sử dụng 0.0% CPU và 14 MB bộ nhớ trong khi ở trạng thái chờ này. Tôi đang ở một chút mất mát vào thời điểm này là nguyên nhân, đặc biệt là kể từ khi chạy GPS trong 1 giây mỗi 540 giây không cung cấp giảm đáng kể mức tiêu thụ pin, so với chạy nó 24/7.

Tôi đã bắt đầu soạn thảo các câu hỏi sau, mà có thể góp phần vào vấn đề, và tôi hy vọng ai đó có một câu trả lời hay một ý tưởng ...

  • Liệu chạy một ứng dụng trong cách ngăn chặn này điện thoại vào chế độ điện năng thấp nào đó?

  • Việc khởi động GPS có sử dụng lượng điện lớn không?

  • GPS có tiếp tục chạy trong một khoảng thời gian ngay cả sau khi tắt không?

+1

@GregularExpressions - có vẻ đúng. Tôi không tin rằng phần cứng GPS có thể làm được nhiều thứ trong giây đầu tiên sau khi bật nguồn. Người nhận phải có được một khung thông điệp hoàn chỉnh từ một số vệ tinh để tính toán vị trí của nó và băng thông tín hiệu GPS/bitrate rất thấp, (nó phải được người nhận điện năng thấp nhỏ khác là không thể). Ngay cả khi được báo hiệu tắt, hệ thống GPS có thể chạy cho đến khi nó có được một bản sửa lỗi trước khi tắt. –

+0

..và người nhận trong những chip GPS công suất thấp đó là rác. –

+2

Bạn đã giải quyết được vấn đề của mình chưa? – knagode

Trả lời

2

Có, WWDC 2011 Phiên 312 "Hiệu suất iOS và Tối ưu hóa công cụ bằng dụng cụ" bao gồm khoảng 45 phút.

Khi bạn hoàn thành việc sử dụng GPS, thiết bị có thể hoạt động trong tối đa 10 giây và radio đang hoạt động vừa đánh thức thiết bị vừa đồng thời ngăn thiết bị 'ngủ'.

Bạn sẽ có thể thấy điều này bằng cách sử dụng mẫu 'Chẩn đoán năng lượng' trong Công cụ.

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