當前位置:編程學習大全網 - 網絡軟體 - android invoke原理

android invoke原理

android invoke原理是:invoke是基於切面編程的,可無侵入的在原本功能的切面層添加自定義代碼,壹般用於日誌收集、權限認證等場景。

android invoke包括:

1、Jointpoint(連接點):具體的切面點點抽象概念,可以是在字段、方法上,Spring中具體表現形式是PointCut(切入點),僅作用在方法上。

2、Advice(通知): 在連接點進行的具體操作,如何進行增強處理的,分為前置、後置、異常、最終、環繞五種情況。

3、目標對象:被invoke框架進行增強處理的對象,也被稱為被增強的對象。

4、AOP代理:invoke框架創建的對象,簡單的說,代理就是對目標對象的加強。Spring中的invoke代理可以是JDK動態代理,也可以是CGLIB代理。

5、Weaving(織入):將增強處理添加到目標對象中,創建壹個被增強的對象的過程。

android invoke中代理對象調用是:

動態代理對象生成後調用的入口都是InvocationHandler對象的invoke方法,而且生成代理類的InvocationHandler對象參數傳入就是JdkDynamicAopProxy本身。

1、獲取增強器執行鏈,具體實現在DefaultAdvisorChainFactory#getInterceptorsAndDynamicInterceptionAdvice方法中。

對切點的過濾匹配,也就是上面說的類過濾和方法過濾,調用類過濾matches方法+方法過濾matches方法。

返回true添加到返回的容器中。如果是Interceptor對象則直接添加至返回的容器中。最後生成可被調用的增強器執行鏈。

2、反射method.invoke 調用操作。

3、包裝成了ReflectiveMethodInvocation對象,然後調用其proceed方法。

  • 上一篇:求《高性能Linux服務器構建實戰》全文免費下載百度網盤資源,謝謝~
  • 下一篇:夏普KI-CE60-W 加濕型 空氣凈化器怎麽樣
  • copyright 2024編程學習大全網