2010-08-28 38 views
6

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

Trả lời

4

Âm thanh như ứng dụng của bạn được truyền tải dữ liệu vị trí trên mạng di động. Bật radio di động là một trong những nguyên nhân gây mất điện nhanh nhất, đặc biệt nếu người dùng có kết nối tín hiệu yếu với tháp di động.

Bạn có thể muốn lưu và gộp gói dữ liệu vị trí và gửi dữ liệu nhanh nhất có thể (hai lần mỗi ngày, khi người dùng ngừng di chuyển trong 30 phút, chỉ sau khi người dùng truy cập một trong những nhà hàng yêu thích của họ, vv) Bật radio ít hơn một nửa thường xuyên có thể giúp bạn tăng gần gấp đôi tuổi thọ pin (trừ khi người dùng đang làm điều gì đó khác với thiết bị).

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