¿Alguna desventaja sobre el puerto OpenCV de Android?

He trabajado con OpenCV en combinación con Android antes y lo que siempre traté de hacer es utilizar como pocas llamadas como sea posible entre mi código nativo y mi código java. Cuando miro el puerto de OpenCV para Android sin embargo, parece que apenas crean una función del envoltorio para cada función nativa y llaman éstos de java. Ahora bien, a menos que me malinterpreten totalmente el principal de swig envolturas y la idea de este puerto, no será esto mucho más lento que hacer la codificación real en código nativo? Me di cuenta de que pasar los datos entre código nativo y código java es muy lento, así que no entiendo por qué parece ser lo más normal en este puerto.

Lo hice yo mismo, pero decidí ignorar todas las envolturas y usar el código tal como está y crear mi propio contenedor usando la forma normal presentada por los tutoriales de Android.

Así que mi pregunta es, ¿estoy equivocado acerca de las desventajas? ¿O están realmente allí y cuál es la ventaja real de usar OpenCV en esto era? Sé que estas preguntas son algo informales, pero espero que ustedes puedan ayudarme.

No puedo darte la respuesta que estás buscando, pero esto es lo que pienso: hay muchos ejemplos de capas JNI que envuelven cada función nativa – OpenGL, Android Canvas, etc. Llamar a través de JNI es más lento que trabajar totalmente en nativo Código, pero la pregunta es ¿hace alguna diferencia para una aplicación concreta? Creo que en la mayoría de los casos esta pena de tiempo es ignorable en comparación con el tiempo pasado dentro de las funciones nativas. Sin embargo, prefiero hacer todo el trabajo posible en código nativo para aplicaciones de Android, no principalmente debido a la ejecución más rápida, sino porque Java es un lenguaje incómodo en comparación con C y C ++.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.