Bos*_*one 3 java-native-interface android
我想在我的Android项目中加入小型,精简和基于C的解析器.我过去做过JNI编程,但在Android上没有任何类型的原生(C)开发.我的计划是将C lib编译成SO并在其周围创建JNI包装器,我将在我的应用程序中使用它.这是怎么做/应该做的?第二个也是最重要的问题 - 如何在我的APK中添加.so?它会去哪里?
根据您传递的数据量以及我严重怀疑Java/JNI/C执行速度比本机java实现更快的频率.
将"Java Int"以外的任何内容传递给"C long"会调用JNI数据转换例程,这些例程不是精简和均值.
因此,除非您的JNI例程符合以下模式:
你将比本机java实现慢得多.如果您坚持使用"本机"数据类型(int,char,String)之类的基本"C",如java操作(+, - ,*,==,>),并避免花哨的库,Java的执行速度几乎与C.
Java性能的剩余bug是启动JVM并使一切正常运行所花费的时间,但是当你从Java程序开始时,这是一个非问题.
"慢"java性能的另一个原因是人们坚持使用不必要的工厂,容器,xml bean等等,其中简单明了的方法可以更好地完成工作.
| 归档时间: |
|
| 查看次数: |
8617 次 |
| 最近记录: |