Tôi hiện đang thử nghiệm Tính năng iOS4 mới nhất để đặt ứng dụng nhận biết vị trí của tôi trong nền. Vâng, nó hoạt động! Nhưng mặt khác nó khá hart để xử lý việc sử dụng năng lượng bao la.Thực tiễn tốt nhất - Chế độ ứng dụng nền iPhone
Ứng dụng tiêu thụ khoảng 50% năng lượng pin trong bốn giờ qua. Nó đọc số entire official documentation của Apple về chủ đề này nhưng tôi vẫn không chắc chắn phần nào của ứng dụng của tôi vẫn đang chạy và chức năng nào bị treo (bên cạnh Giao diện người dùng, nên rõ ràng).
Tôi không sử dụng bất kỳ mã bản mẫu thực nào nhưng các thư viện mở rộng như ASIHTTPRequest để nói chuyện với dịch vụ web của tôi. Thử nghiệm với một chiếc xe bạn bè bạn đã chứng minh rằng các kết nối mạng và và Location Services vẫn chạy khi tôi đang sử dụng ví dụ
[locationManager startMonitoringSignificantLocationChanges];
Apples Documentation on các bang ứng dụng khác nhau
nền: Ứng dụng ở chế độ nền và thực thi mã [...]
Tôi có nên viết chức năng "kim loại trần" để nhận và kết thúc dữ liệu vị trí này? Tôi có nên xóa tất cả các đối tượng khác trong khoảng thời gian ứng dụng nằm trong nền để giảm dung lượng bộ nhớ không? Có vẻ như không có bất kỳ thực hành tốt nhất nào.
Bất kỳ ý tưởng nào? Có thể các bạn có thể cung cấp cho tôi một số thông tin chi tiết của bạn. Cảm ơn.
Edit: Có một công cụ dụng cụ mới có tên gọi Energy Diagnostics Instruments để ghi lại bất kỳ việc sử dụng điện (đối với iPhone 3GS và sau đó) với một thiết bị kèm theo. Ngoài ra còn có một dịch vụ khác trên thiết bị trong Ứng dụng Cài đặt -> Nhà phát triển -> Sử dụng nguồn. Thật tuyệt vời để kiểm tra việc sử dụng năng lượng của bạn trong trường. Các bản ghi được tạo có thể được kéo sau trong các công cụ.
tham khảo: WWDC 2010 phiên 309 - Nâng cao Phân tích Hiệu suất với Instruments