2023-01-20 334
两年前,我在 android-7(eclair)上开发了一个增强现实框架. .由于AR应用程序是计算密集的任务,因此我开发了JNI C ++库,该库由Java活动用于渲染和注册虚拟环境.在Java中获取的传感器读数传递给下划线C ++库,以计算虚拟环境的注册. tridirensional对象由一个本机绘制函数呈现,称来自 glsurfaceview “> glsurfaceview .这导致了很多JNI调用.
现在,我想将该应用程序移植到 android-15(ICE)奶油三明治).从 android-9(gingerbread) Android允许使用 nativeactivity .
我想了解哪种是开发AR应用程序的更好方法.由于每个JNI呼叫都会引入开销,因此避免它们会更好.是否可以使用本质化力?我没有找到解释自然作用的解释指南,但阅读这个文件无论如何,它似乎导致了许多JNI调用.是否有任何建筑文档可以解释自由基的工作原理?纳入性是否只是避免JAVA代码的” JNI包装器”?关于性能,像我之前做过的那样,使用Nativeactitive而不是JNI库有任何优点?
非常感谢.
自然作用力不会为您的框架提供绩效的提高.它仍然使用JNI与系统进行通信,仅在封面下.
此外,有充分的理由不使用它.如果我正确理解您的目的,则希望其他应用程序利用您的代码.通过强迫他们使用自由分析,您会严重降低他们的自由,并要求他们在不太熟悉的环境中挣扎.有许多局限性,例如,例如它不能加载一个以上的JNI库.
最后,如果您寻找AR框架的优化,我建议一个完全不同的方向:您可以使用新的 setPreviewTexture() api.
据我所知,
使用纳入性时,您仍然绑定了JNI.此类可以用作起点,并为您的方便起见,封装了一些功能,但是访问本机代码的基础技术没有改变并且IST仍然是JNI.因此,我认为您只能进行一些基准测试以检查出出来是否出于某种原因更有效(Google的家伙确实知道一些使其比您的解决方案更快的黑客).
以上所述是小编给大家介绍的Android NDK-NativeActivity vs JNI lib,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/25963.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态