Android 将方法的结果作为静态属性

Android 将方法的结果作为静态属性,android,Android,下面的代码是否有效?我的意思是,它实际上是否只运行一次,结果将缓存在属性中,这样下一次调用将不再重新运行该方法 public static final String LOG_TAG = MyApplication.getContext().getApplicationInfo().name; 不知怎么的,我哪儿也找不到 评论 因为你们似乎把注意力集中在不重要的事情上,下面是更改后的代码: public static final String SomeVar = MyApplication.so

下面的代码是否有效?我的意思是,它实际上是否只运行一次,结果将缓存在属性中,这样下一次调用将不再重新运行该方法

public static final String LOG_TAG = MyApplication.getContext().getApplicationInfo().name;
不知怎么的,我哪儿也找不到

评论

因为你们似乎把注意力集中在不重要的事情上,下面是更改后的代码:

public static final String SomeVar = MyApplication.someMethod();

您不能这样做,因为
Application.getContext()
方法不是
static


编辑:我看到你编辑了你的问题:所以如果你的
MyApplication.someMethod()
方法是
静态的
,那么它当然可以工作,
someMethod()
将只被调用一次,除非你的类被垃圾收集器销毁并重新创建。

我不确定。我通常是这样理解的:


My(Activity)Class.Class.getSimpleName()

由于您正在硬编码字符串值。。。为什么不用你想监视的东西?喜欢类名吗?为什么要自动化这个?这是一个调试标记,请按照您应该的方式粗略地使用它:)这就是问题的重点吗?该方法将只调用一次?这是可能的。我在从应用程序继承的MyApplication中将此方法设置为静态。但没关系。答案很明显,需要更多的咖啡。谢谢!