什么时候活动的实例变量被初始化?
在我的Android应用程序中,我有一个奇怪的错误。 像下面这样的实例变量在运行时意外地分配给它的默认值(在这种情况下为false)。 什么时候在android活动中初始化这种类型的变量?
public class MainActivity extends Activity { private boolean isInitialized = false; // <- When do this variable get initialized? }
创建实例时,将初始化Java中的实例变量。
大多数时候,对象都会被new
实例化。
在活动的情况下,它们由Android框架使用reflection进行实例化(参见Instrumentation#newActivity()
)。 然后执行Context
初始化,并在实例上调用onCreate()
活动。
有关详细信息,请查看ActivityThread
源代码 。
Java没有“全局变量”。
你在谈论instance variables
。 每次创建新实例时都会初始化它们。