Colección de citas famosas - Slogan de motivación - principio de invocación de Android

principio de invocación de Android

El principio de la invocación de Android es: la invocación se basa en la programación de aspectos y se puede agregar código personalizado a la capa de aspecto de la función original sin intrusión. Generalmente se usa en escenarios como la recopilación de registros y los permisos. autenticación.

La invocación de Android incluye:

1. Jointpoint: un concepto abstracto específico de aspectos, que puede estar en campos y métodos. La forma específica de expresión en Spring es PointCut. sólo afecta a los métodos.

2. Consejo: Las operaciones específicas realizadas en el punto de conexión y cómo mejorar el procesamiento se dividen en cinco situaciones: pre, post, anormal, final y envolvente.

3. Objeto de destino: el objeto mejorado por el marco de invocación también se denomina objeto mejorado.

4. Proxy AOP: el objeto creado por el marco de invocación. En pocas palabras, el proxy es la mejora del objeto de destino. El agente de invocación en Spring puede ser un agente dinámico JDK o un agente CGLIB.

5. Tejido: el proceso de agregar procesamiento de mejora al objeto de destino y crear un objeto mejorado.

La llamada al objeto proxy en la invocación de Android es:

Después de generar el objeto proxy dinámico, el punto de entrada de la llamada es el método de invocación del objeto InvocationHandler y el parámetro del objeto InvocationHandler de la clase de proxy generada se pasa al propio JdkDynamicAopProxy.

1. Obtenga la cadena de ejecución del potenciador, que se implementa específicamente en el método DefaultAdvisorChainFactory#getInterceptorsAndDynamicInterceptionAdvice.

Para el filtrado y coincidencia de puntos de corte, es decir, el filtrado de clases y el filtrado de métodos mencionados anteriormente, llame al método de coincidencias de filtrado de clases + método de coincidencias de filtrado de métodos.

Devuelve verdadero para agregarlo al contenedor devuelto. Si es un objeto Interceptor, se agrega directamente al contenedor devuelto. Finalmente, se genera una cadena de ejecución de potenciador que se puede llamar.

2. Método de reflexión. Invocar operación de llamada.

3. Empaquételo en un objeto reflexivoMethodInvocation y luego llame a su método proceder.