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?
@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. –
..và người nhận trong những chip GPS công suất thấp đó là rác. –
Bạn đã giải quyết được vấn đề của mình chưa? – knagode