在具有少量POJO和许多辅助方法的应用程序中运行它们,有什么更好的性能:使辅助类单例或使方法静态?
静态方法的性能和内存明显更好:
避免(潜在)虚拟函数调用的开销.
消除实际类实例所需的内存.
在使用它时,无需获取类的实例.
但老实说,我可能仍然会成功singleton
.即使在移动环境中,通过不这样做而获得的收益可能非常小,以至于它们会产生零差异.
你能避免这两种情况并定期上课吗?
忽略性能问题,我建议避免使用singeltons和静态方法来提高可测试性.
单身人士和静态方法很难测试; 在这方面,单例基本上是静态方法,但具有不同的名称.在Google测试团队工作的Misko Hevery有一些关于这个主题的好文章:
单身人士是病态的骗子
静态方法是稳定性的死亡