1
要實現諸如取消呼叫,清除未接來電通知,禁用通知LED和其他此類複雜功能,我必須嚴重依賴Reflection。它會長期影響我的應用程序嗎?在android中使用反射的缺點?
要實現諸如取消呼叫,清除未接來電通知,禁用通知LED和其他此類複雜功能,我必須嚴重依賴Reflection。它會長期影響我的應用程序嗎?在android中使用反射的缺點?
refelections的主要缺點是
它是緩慢
反射涉及動態解析的類型,某些Java虛擬機的優化不能進行。因此,反射操作的性能要比非反射操作的性能要差,應該在性能敏感的應用程序中頻繁調用的代碼段中避免。
脆弱
反光代碼是在API變化的臉更脆弱。
安全問題
你不能讓不信任的代碼使用反射。
測試問題
更全面的測試和調試,因爲要更換編譯時類型與運行時類型檢查檢查是必需的。塔內件
的
曝光通過使用反射,你可以訪問哪些是不允許使用非反射的方法來使用私有類成員。反射的使用可能會導致意想不到的副作用,這可能導致代碼功能失常並可能破壞可移植性。
在你的情況下,我認爲問題應該是,緩慢,脆弱和測試問題 如果上述問題不打擾你,那麼你可以自由地在你的應用程序中使用反射。
以何種方式可能呢折磨你的應用程序? – Blackbelt
你需要更加具體。除了「反射速度很慢,每秒做幾次,你的應用可能會感覺遲鈍」之外,不可能回答這樣一個普遍的問題。 – britzl