在 Android 中使用静态方法获取应用程序继承者的实例是否正确?我在一些开源项目中看到过这种方法:VLC https://github.com/mstorsjo/vlc-android/blob/master/vlc-android/src/org/videolan/vlc/VLCApplication.java#L98 and Shuttle https://github.com/timusus/Shuttle/blob/dev/app/src/main/java/com/simplecity/amp_library/ShuttleApplication.java#L63
public class MyApplication extends Application {
private static MyApplication sApplication;
public static MyApplication getInstance() {
return sApplication;
}
@Override
public void onCreate() {
super.onCreate();
sApplication = MyApplication.this;
}
}
是的。这种做法是正确的。这是您正在遵循的单例模式。作为static
变量始终是正确的方式,因为它是您想要在任何地方维护的单一状态。
只要您的应用程序从未在多个进程中运行,它也是安全的。每个进程的应用程序都有严格的一比一的比例。
我也在我的所有应用程序中使用它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)