Android最大共享库大小
我正在尝试将一些Linux代码移植到Android。我意识到代码将涉及多个jni引用,因此共享库的大小远远超过20MB 我想知道是否每个都有一个最大尺寸。那么 另外,我的应用程序可以拥有的.so文件是否有一个总的最大大小,因为.so文件实际上是内存映射的Android最大共享库大小,android,memory-management,shared-libraries,Android,Memory Management,Shared Libraries,我正在尝试将一些Linux代码移植到Android。我意识到代码将涉及多个jni引用,因此共享库的大小远远超过20MB 我想知道是否每个都有一个最大尺寸。那么 另外,我的应用程序可以拥有的.so文件是否有一个总的最大大小,因为.so文件实际上是内存映射的 我在谷歌上搜索了一下,几乎什么也没找到,所以一个描述这个的资源将非常有用据我所知,.so文件的大小没有限制。我见过几个Android应用程序使用超过20MB的共享库 然而,在Android中,进程中加载的.so文件数量是有限制的。该限制通常设置
我在谷歌上搜索了一下,几乎什么也没找到,所以一个描述这个的资源将非常有用据我所知,.so文件的大小没有限制。我见过几个Android应用程序使用超过20MB的共享库 然而,在Android中,进程中加载的.so文件数量是有限制的。该限制通常设置为128。参考 确切数字可能因设备制造商而异,因为他们经常改变常数。您可能认为这个数字已经足够大了,但是请注意,在您的过程中加载了许多内置的共享库,即使您自己没有加载任何共享库
我不能告诉你,这20个共享库将或不会超过限制。这取决于设备。如果您担心,您可能会将这20个库合并成一个巨大的库文件。这是对Android动态链接器共享库数量的限制。 但我发现这个限制最近从4.3开始取消了。 在4.2.2中,存在一个SO_MAX,请参见。
但在4.3中,删除了sou MAX,请参见。该链接基本上回答了我的大部分问题,尽管我更关心的是.SO的大小,而不是它们的数量。谢谢吉勇。