Desidero scrivere un'applicazione che legge quanti più sensori possibile (per volta) da sensori diversi (GPS, Acc, Gyro, Compass). Quindi devo indagare se c'è un vantaggio nell'utilizzo di NDK.Android: Migliora la frequenza di campionamento del sensore utilizzando NDK e polling
Ecco le mie domande:
a) Qual è il collo di bottiglia quando si leggono i valori dei sensori da un sensore? È lo stesso senosr o Java? Posso aumentare il tasso usando NDK? (Penso che per il GPS il collo di bottiglia sia il sensore stesso, ma ho letto che, ad esempio, il Gyro-Sensor è abbastanza veloce) Ho trovato this thread e sembra che il collo di bottiglia sia il sensore. Qualcuno può confermarlo?
b) Se il polling invece di utilizzare EventListener aumentare il tasso? Qual è il modo migliore per leggere velocemente i valori dei sensori?
c) ha l'uso della NDK alcuna influenza sul consumo di energia della domanda? Non ho trovato nulla a riguardo.
d) Sono nuovo di Android. È molto più conveniente usare NDK invece del normale Java? Secondo questo sample-code sembra essere semplice interagire con i sensori usando una coda di eventi, ma quanto ci si può permettere di compilare il codice e usarlo dall'applicazione?
Grazie in anticipo.
Grazie per la risposta, ma non è quello che stavo chiedendo. La domanda era se c'è un vantaggio nell'uso di C++ (NDK) invece di Java (SDK). – steckl
Stiamo utilizzando JNI per passare i dati del sensore G da Java a nativo e non abbiamo riscontrato alcun problema. –
Ottieni qualche beneficio dal tuo metodo? Perché non usi direttamente l'interfaccia sensore di NDK? Per me il tuo metodo non ha alcun vantaggio, dal momento che non eseguo alcun calcolo con i dati del sensore, lo inoltro semplicemente a un server. – steckl