1

要实现取消呼叫、清除未接来电通知、禁用通知 LED 和其他此类复杂功能,我必须严重依赖 Reflection。从长远来看,它会影响我的应用程序吗?

4

1 回答 1

3

反射的主要缺点是

它很慢

反射涉及动态解析的类型,无法执行某些 Java 虚拟机优化。因此,反射操作的性能比它们的非反射对应物要慢,并且应该避免在对性能敏感的应用程序中经常调用的代码部分中。

脆弱的

反射代码在 API 变化面前更加脆弱。

安全问题

您不能允许不受信任的代码使用反射。

测试问题

需要更彻底的测试和调试,因为您将编译时类型检查替换为运行时类型检查。

内部暴露

通过使用反射,您可以访问不允许使用非反射方法使用的私有类成员。使用反射可能会导致意想不到的副作用,这可能会导致代码功能失调并可能破坏可移植性。

在您的情况下,我认为问题应该是缓慢、脆弱和测试问题如果上述问题不打扰您,那么您可以在您的应用程序中自由使用反射。

链接1 ,链接2 ,链接3

于 2013-05-27T09:39:32.407 回答