1.简述JNI

是java和c语言之间的桥梁,由于java是一种半解释语言,可以被反编译出来,一种重要涉及安全的代码就使用了C编程,再者很多底层功能调用C语言都实现了Java没必要重复造轮子,所以定义了JNI接口的实现

3.谈谈对Android NDK的理解

NDK是一系列工具的集合.NDK提供了一系列的工具,帮助开发者快速开发C或C++的动态库,并能自动将so和java应用一起打包成apk.这些工具对开发者的帮助是巨大的.NDK集成了交叉编译器,并提供了相应的mk文件隔离CPU,平台,ABI等差异,开发人员只需要简单修改 mk文件(指出"哪些文件需要编译","编译特性要求"等),就可以创建出so.

NDK可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作.NDK提供了一份稳定,功能有限的API头文件声明.

Google明确声明该API是稳定的,在后续所有版本中都稳定支持当前发布的API.从该版本的NDK中看出,这些 API支持的功能非常有限,包含有:C标准库(libc),标准数学库(libm ),压缩库(libz),Log库(liblog).

jni 的调用过程?

安装和下载 Cygwin,下载 Android NDK。

ndk 项目中 JNI 接口的设计。

使用 C/C++实现本地方法。

JNI 生成动态链接库.so 文件。

将动态链接库复制到 java 工程,在 java 工程中调用,运行 java 工程即可。

Android面试题---JNI相关推荐

  1. 安卓Android面试题大全

    56个问题都是经常用到的,可以深入研究下,也是必须掌握的开发必备知识. 安卓Android面试题汇总 搜集了一些Android面试题目,供将要面试或者正在面试的朋友参考. 1, 谈谈你对Activit ...

  2. 金三银四的面试黄金季节,Android面试题来了!

    金三银四的跳槽季节,你准摆好了吗? 首先我们分享一个Android知识图谱. 下面是一些面试官基本必问的问题,请一定要去了解! 基础知识 – 四大组件(生命周期,使用场景,如何启动) java基础 – ...

  3. Android面试题收集(有具体答案)

    Android面试题目及其答案 1.Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念 DVM指dalivk的虚拟机.每个Android应用程序都在它自己的进程中执行,都 ...

  4. 2017常见android面试题

    介绍自己负责的部分,如何实现的. 框架的搭建 排查问题以及结解决方式 兼容性保证 性能优化 上线之后模块导致crash的比例 自定义view viewGroup 这个就是约定的几个方法,onMeasu ...

  5. Android面试题集1

    1. 什么是Activity? 四大组件之一,一般的,一个用户交互界面对应一个activity setContentView() ,// 要显示的布局 , activity 是Context的子类,同 ...

  6. 19、android面试题整理(自己给自己充充电吧)

    (转载,出处丢失,请原作者原谅,如有意见,私信我我会尽快删除本文) JAVA 1.GC是什么? 为什么要有GC? GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现 ...

  7. Android应用面试题及答案汇总

    android面试题2019 答案 Java 基础 String.StringBuffer.StringBuilder的区别 03 进程和线程的区别:多线程与线程池 16 java中equals和== ...

  8. Android面试题和答案

    71道经典Android面试题和答案 下列哪些语句关于内存回收的说明是正确的? (b ) A. 程序员必须创建一个线程来释放内存 B.内存回收程序负责释放无用内存 C.内存回收程序允许程序员直接释放内 ...

  9. Android面试题收集(有详细答案)

    Android面试题目及其答案 1.Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念 DVM指dalivk的虚拟机.每一个Android应用程序都在它自己的进程中运行, ...

最新文章

  1. Android判断是否Root方法
  2. MySQL之长连接、短连接、连接池(转载:http://www.ywnds.com/?p=9801)
  3. 机器学习——支持向量机SVM实例(兵王问题,SVM求解步骤以及思路,不求解不编程)
  4. 《Java8实战》笔记(06):用流收集数据
  5. C++|Qt笔记-关于extern和namespace的区别与联系
  6. cannot add new member解决方法
  7. 「管理数学基础」4.3 模糊数学:模糊关系与模糊矩阵、模糊关系的运算与合成、模糊等价关系
  8. 怎么卸载Office2007兼容包?
  9. c#之字符串,列表,接口,队列,栈,多态
  10. YouTube深度学习视频推荐系统
  11. ise 检查文件语法错误
  12. 2022.11.12 英语背诵
  13. android仿IT之家、炫酷水波纹、Kotlin MVP项目、后台模拟点击、蜂巢迷宫小游戏等源码
  14. 软考中级之系统集成项目管理工程师备考
  15. matplotlib learning-----案例:对比电影的票房收入(3)
  16. 计算机科学未来十年就业问题,未来10年“最有前途”的3个专业,就业率90%以上,多数人不看好...
  17. int,long和long long的区别
  18. 快速搭建小程序,实现线上引流获客
  19. java util包排序_实现java.util.Comparator接口,对对象集合进行多属性组合排序
  20. L1-040. 最佳情侣身高差

热门文章

  1. mysql 相同记录求和_在MySQL中求和对应的重复记录
  2. 使用cmd备份mysql数据库
  3. Python练习:阶乘求和
  4. C++数据类型转化使用方法,static_cast,dynamic_cast,dynamic_pointer_cast,dynamic_pointer_cast等
  5. Python Web 编程框架
  6. 机器学习实战(七)02-线性回归提高篇之乐高玩具套件二手价预测
  7. [FineReport帆软]使用gif图片背景/设置动态背景
  8. kubernetes 1.8.8 二进制 证书安装
  9. 几张视觉图,很有意思
  10. CAD2020学习笔记2