La plataforma Android es una operación de biblioteca dinámica
El nombre completo de la biblioteca estática es biblioteca de enlaces estáticos y el nombre completo de la biblioteca dinámica es biblioteca de enlaces dinámicos. Sabrá lo que significa cuando vea el nombre completo, ¿verdad? En otras palabras, la biblioteca solo se utilizará al vincular. Solo los lenguajes C/C y OC tendrán un proceso de vinculación, pero Java no.
Cuando se habla de bibliotecas estáticas y bibliotecas dinámicas en Android, generalmente se refieren al código C/C. Sabemos que se accede al código C a través de la tecnología jni en Android. archivo, esta es una biblioteca dinámica (*** disfrute de las bibliotecas). Si la biblioteca C que queremos usar es una biblioteca estática en forma de .a, cuando queramos usarla, debemos empaquetar .a en una biblioteca so. El método en línea específico es el siguiente.
Personalmente, creo que hablar sobre bibliotecas estáticas y bibliotecas dinámicas en el lenguaje Java es un pseudoconcepto. El resultado de la compilación de Java es un archivo de código de bytes, no un archivo binario, y no existe un proceso de vinculación. La JVM interpreta y ejecuta el código Java llamado cuando solo puede ser dinámico.
En el desarrollo de C y el objeto C, existe un proceso de compilación y vinculación. Durante el proceso de vinculación de bibliotecas estáticas, utilizarán su propio código fuente para crear múltiples programas y múltiples bibliotecas estáticas. La biblioteca dinámica no estará vinculada y solo se cargará una vez cuando ocurra ****ty.
El procesamiento del código OC es muy complicado. Hay procesos de preprocesamiento, compilación y vinculación. El preprocesamiento es el procesamiento de macros, etc. El proceso de compilación es muy complicado. final La compilación se llama código de máquina (habrá un proceso de compilación), vincular significa vincular bibliotecas dinámicas o bibliotecas estáticas.
El procesamiento de código de Android (java) es muy simple; después de todo, se ejecuta en una máquina virtual. No existe el llamado preprocesamiento, compilación directa. La compilación aquí es convertir el código Java en código de bytes. Esta compilación no es el mismo concepto que la compilación OC, pero también se llama así. En el futuro, Aandroid también utilizará la herramienta dex para empaquetar .class en .dex. Se optimizarán diferentes modos de VM (todos ART después de 5.0) para diferentes .dex. Para obtener más detalles, consulte el resumen del proceso de compilación y ejecución de Android. APK. Cabe mencionar que ART utiliza tecnología AOT y JIT durante la instalación o ejecución, el código de bytes se convertirá en código de máquina y el código de máquina también será controlado por la VM. Consulte Dalvik y ART de Android. C/C y Object C son lenguajes compilados. No hay duda de esto, porque se compilan en código de máquina antes de generar el paquete de instalación.