android和so文件的关系

2019-08-29  本文已影响0人  Judy警官

最近测试京东阅读app,读书引擎这一块是用c++代码写的,上层调用引擎库实现特定功能。总是听底层(c++)开发人员说打一个so包。what?so包是什么东东?马上问了下度娘,在幕客上搜索到了以下内容:

Android 为什么要使用.so文件呢?

由于Android基于Linux Kernl的,也继承了Linux中所有so相关的设计。除了系统方面的原因,Android开发者还要知道以下几点:

so机制让开发者最大化利用已有的C和C++代码,达到重用的效果,利用软件世界积累了几十年的优秀代码

so是二进制,没有解释编译的开消,用so实现的功能比纯java实现的功能要快

so内存分配不受Dalivik/ART的单个应用限制,减少OOM

另外,在c++层报错后,用logcat抓的日志有如下名词ABI,

08-27 14:35:07.082 11267 11267 F DEBUG   : ABI: 'arm'

解释如下:
关于ABI:(英语:application binary interface,缩写为 ABI)描述了应用程序(或者其他类型)和操作系统之间或其他应用程序的低级接口。

来源:https://www.imooc.com/article/72564

上一篇下一篇

猜你喜欢

热点阅读