Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android最大共享库大小_Android_Memory Management_Shared Libraries - Fatal编程技术网

Android最大共享库大小

Android最大共享库大小,android,memory-management,shared-libraries,Android,Memory Management,Shared Libraries,我正在尝试将一些Linux代码移植到Android。我意识到代码将涉及多个jni引用,因此共享库的大小远远超过20MB 我想知道是否每个都有一个最大尺寸。那么 另外,我的应用程序可以拥有的.so文件是否有一个总的最大大小,因为.so文件实际上是内存映射的 我在谷歌上搜索了一下,几乎什么也没找到,所以一个描述这个的资源将非常有用据我所知,.so文件的大小没有限制。我见过几个Android应用程序使用超过20MB的共享库 然而,在Android中,进程中加载的.so文件数量是有限制的。该限制通常设置

我正在尝试将一些Linux代码移植到Android。我意识到代码将涉及多个jni引用,因此共享库的大小远远超过20MB

我想知道是否每个都有一个最大尺寸。那么

另外,我的应用程序可以拥有的.so文件是否有一个总的最大大小,因为.so文件实际上是内存映射的


我在谷歌上搜索了一下,几乎什么也没找到,所以一个描述这个的资源将非常有用

据我所知,.so文件的大小没有限制。我见过几个Android应用程序使用超过20MB的共享库

然而,在Android中,进程中加载的.so文件数量是有限制的。该限制通常设置为128。参考

确切数字可能因设备制造商而异,因为他们经常改变常数。您可能认为这个数字已经足够大了,但是请注意,在您的过程中加载了许多内置的共享库,即使您自己没有加载任何共享库


我不能告诉你,这20个共享库将或不会超过限制。这取决于设备。如果您担心,您可能会将这20个库合并成一个巨大的库文件。

这是对Android动态链接器共享库数量的限制。 但我发现这个限制最近从4.3开始取消了。 在4.2.2中,存在一个SO_MAX,请参见。
但在4.3中,删除了sou MAX,请参见。

该链接基本上回答了我的大部分问题,尽管我更关心的是.SO的大小,而不是它们的数量。谢谢吉勇。