简体   繁体   English

普通类,单例类或静态方法以提高性能

[英]Normal Class, singleton class or static methods for performance

In my application I've a class called AppUtils.java , which basically contains utility functions like covertDpToPx() , UrlEncoder()` etc. 在我的应用程序中,我有一个名为AppUtils.java的类,该类基本上包含实用程序功能,例如covertDpToPx() , UrlEncoder()`等。

Issue is this class, apart from normal Activities , can also be called by Services running constanly in background. 问题是此类,除了正常的Activities ,还可以由在后台恒定运行的Services调用。

So, how should I design this class from performance point-of-view? 因此,我应该如何从性能角度设计此类?

Thank You 谢谢

The good practice for an utility class is to make it final to disable inheritance, make constructor private to prevent instantiation and provide a set of public static utility methods: 实用程序类的一个好习惯是使它最终成为禁用继承,将构造函数设为私有以防止实例化并提供一组公共静态实用程序方法:

public final class AppUtils {

    private AppUtils() {
    }

    public static float covertDpToPx() {
        ...
    }

    public static String encodeUrl(String url) {
        ...
    }
}

根据Android性能提示, Google建议在Android上使用static over singleton或virtual

如果可能,请将所有方法设为静态,以防万一将构造函数声明为私有,以免您意外创建该类的实例。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM