我已经读过使用getDefinitionByName()来动态获取类然后使用那些创建的对象的方法与使用对象的常规方法相比非常慢,但是在我做了一些快速测试之后,我没有发现任何性能差。
我现在很困惑,因为我打算制作一个应用程序,它将严重依赖于从XML文件中读取字符串,然后使用getDefinitionByName动态找到这些类中的对象。
我做的简单测试包括在构造函数中迭代200000次,做一些简单的数学处理,两个对象在for中显示约30ms的延迟,使用getTimer()来检查。
这些类没有“动态”子句,但它们是常规类。
答案 0 :(得分:2)
getDefinitionByName是一种不同的方式来到同一个类。
以这种方式实例化类与直接实例化类的方法没有什么不同。从通过getDefinitionByName获得的类派生的对象没有固有的缓慢。
答案 1 :(得分:0)
创建的实例本身的性能没有差异。全局" getDefinitionByName"使用它本身比直接用类实例化要慢一些。这很容易理解,因为必须进行演员表。