2010-09-21 64 views
17

在Android應用程序中實現面向方面編程(AOP)的最佳方式是什麼?Android中面向方面編程

對移動電池有效嗎?

+2

AOP與電池有什麼關係?儘管AOP技術上可以用方法中的代碼注入來實現,但對電池的影響肯定會與上述代碼以其他方式運行時相同? – bzlm 2010-09-21 10:11:41

+0

我想這只是效率。如果AOP是實現代碼更有效的方式,那麼電池就會更容易。然而,這將是一個非常難以衡量的事情,其影響可能非常輕微。 – fredley 2010-09-21 10:14:16

回答

17

這取決於它是如何實現的。

例如,AspectJ的編譯時編織可以在android上工作,但運行時編織不會。 Android不支持字節碼生成。

檢查Guice wiki

在幕後,方法攔截 是通過在運行時產生的字節碼 實現。 Guice動態地創建了一個子類,通過覆蓋方法應用攔截器 。如果您使用的是不支持字節碼 (如Android)的 平臺,則您的 應該使用Guice,而不支持AOP。