zoukankan      html  css  js  c++  java
  • JNI介绍

    1.基础知识

      JNI(Java Native Interface)Java原生接口

      使用JNI可以使java代码其它代码(如c)进行交互

      问:为什么要进行交互?

      |-  首先,Java语言提供的类库无法满足要求,且在数学运算,实时渲染的游戏上,音视频处理等方面上与C/C++相比效率稍低。

      |-  然后,Java语言无法直接操作硬件,C/C++代码不仅能操作硬件而且还能发挥硬件最佳性能。

      |-  接着,使用Java调用本地的C/C++代码所写的库,省去了重复开发的麻烦,并且可以利用很多开源的库提高程序效率

      //以上为牛人总结,本人mark一下而已

    2.jni使用过程

      1.检验C代码的正确性,c代码必须提供个main方法

      2.在activity中编写native方法 

     1 public native int getPressure();

      3.到cmd中运行javah命令

      D:\jniroom\monitor\bin\classes>javah com.dazhu.MonitorActivity

       生成com_dazhu_MonitorActivity.h

      4.根据com_dazhu_MonitorActivity.h来写java调用c方法

       Hello.c

      5.得到Android.mk文件,放到与Hello.c,com_dazhu_MonitorActivity.h同一个目录下 

     1 LOCAL_PATH := $(call my-dir)
     2 
     3 include $(CLEAR_VARS) 
     4 
     5 LOCAL_MODULE    := Hello
     6 LOCAL_SRC_FILES := Hello.c 
     7 include $(BUILD_SHARED_LIBRARY)

      6.使用Cygwin来使Hello.c生成库文件,打开cygwin来到android工程目录

      Administrator@china-80491747f /cygdrive/d/jniroom/monito
      $ ndk-build
      Compile thumb : Hello <= Hello.c
      SharedLibrary : libHello.so
      Install : libHello.so => libs/armeabi/libHello.so

      7.在java代码中引用libHello.so库

       System.loadLibrary("Hello");

      8.然后就噢了~~~~~~,可以调用使用java代码中的native方法了

  • 相关阅读:
    [转]如何分析监控的关键指标
    性能测试指标&说明 [解释的灰常清楚哦!!]
    页面性能测试&提升方式
    转:使用 JMeter 完成常用的压力测试
    细雨学习笔记:JMeter 的主要测试组件总结
    压力测试了解
    影响性能的因素
    网址收藏
    Windows安装TensorFlow
    ionic常见问题及解决方案
  • 原文地址:https://www.cnblogs.com/fanglove/p/2713024.html
Copyright © 2011-2022 走看看