在Android中使用Reflection的缺点?

时间:2013-05-27 09:25:20

标签: java android reflection notifications led

要实现诸如取消呼叫,清除未接来电通知,禁用通知LED和其他此类复杂功能之类的事情,我必须在很大程度上依赖于Reflection。从长远来看,它会影响我的应用吗?

1 个答案:

答案 0 :(得分:3)

反思的主要缺点是

很慢

反射涉及动态解析的类型,无法执行某些Java虚拟机优化。因此,反射操作的性能低于非反射操作,应避免在对性能敏感的应用程序中频繁调用的代码段中。

<强>易碎

面对API更改,反射代码更加脆弱。

安全问题

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

测试问题

需要进行更全面的测试和调试,因为您正在使用运行时类型检查替换编译时类型检查。

内部曝光

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

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

link1link2link3