Tôi muốn viết một ứng dụng đọc nhiều va chạm cảm biến (theo thời gian) từ các cảm biến khác nhau (GPS, Acc, Gyro, Compass). Vì vậy, tôi phải điều tra nếu có một lợi thế trong việc sử dụng NDK.Android: Cải thiện tỷ lệ lấy mẫu cảm biến bằng cách sử dụng NDK và bỏ phiếu
Đây là câu hỏi của tôi:
a) Nút cổ chai khi đọc giá trị cảm biến từ cảm biến là gì? Có phải chính senosr hay Java? Tôi có thể tăng tỷ lệ bằng cách sử dụng NDK không? (Tôi nghĩ cho GPS nút cổ chai là cảm biến chính nó, nhưng tôi đã đọc rằng ví dụ như Gyro-Sensor là khá nhanh) Tôi tìm thấy this thread và có vẻ như nút cổ chai là cảm biến. Ai đó có thể xác nhận điều này?
b) Việc bỏ phiếu thay vì sử dụng EventListener có làm tăng tỷ lệ không? Cách tốt nhất để đọc các giá trị cảm biến nhanh là gì?
c) Việc sử dụng NDK có ảnh hưởng đến mức tiêu thụ điện năng của ứng dụng không? Tôi không tìm thấy bất cứ điều gì về điều này.
d) Tôi mới sử dụng Android. Có đủ khả năng để sử dụng NDK thay vì Java bình thường không? Theo điều này sample-code nó có vẻ là đơn giản để tương tác với các cảm biến bằng cách sử dụng một sự kiện-hàng đợi, nhưng bao nhiêu khả năng là nó để biên dịch mã và sử dụng nó từ ứng dụng?
Xin cảm ơn trước.
Cảm ơn bạn đã trả lời, nhưng đó không phải là những gì tôi yêu cầu. Câu hỏi đặt ra là nếu có lợi ích trong việc sử dụng C++ (NDK) thay vì Java (SDK). – steckl
Chúng tôi đang sử dụng JNI để chuyển dữ liệu cảm biến G từ Java sang nguồn gốc và không thấy có vấn đề gì với điều đó. –
Bạn có được lợi ích gì từ phương pháp của mình không? Tại sao bạn không sử dụng giao diện cảm biến của NDK trực tiếp? Đối với tôi, phương pháp của bạn không có lợi, vì tôi không thực hiện bất kỳ phép tính nào với dữ liệu cảm biến, tôi chỉ chuyển tiếp nó đến máy chủ. – steckl