Ключевые отличия между динамическим и статическим связыванием библиотек в Android:
- Динамическое связывание происходит во время выполнения программы. habr.com dzen.ru Чтобы его выполнить, разработчик называет метод и функцию в библиотеке в соответствии со спецификациями системы JNI. habr.com
- Статическое связывание происходит во время компиляции кода. habr.com dzen.ru Если тип переменной или ссылки заранее известен, то компилятор может точно определить, какой метод будет вызван, и связать его с этой переменной или ссылкой. dzen.ru Например, если разработчик не хочет или не может назвать собственные функции в соответствии со спецификацией (например, хочет удалить символы отладки). habr.com
Ещё одно отличие заключается в том, что статический исполняемый файл запускается быстрее, поскольку этап загрузки динамических библиотек не требуется. stackoverflow.com При этом для статических исполняемых файлов требуется больше места на диске. stackoverflow.com