Android中的每个活动是否都有一个ActivityManager实例?
我在ActivityManager中添加了一个静态字段,并将其设置在我的activity中。当我退出活动并再次输入时,我发现该值已恢复为默认值。我想知道这是否意味着每个活动都有一个活动管理器实例 基本上,我在ActivityManager中添加了以下内容:Android中的每个活动是否都有一个ActivityManager实例?,android,operating-system,Android,Operating System,我在ActivityManager中添加了一个静态字段,并将其设置在我的activity中。当我退出活动并再次输入时,我发现该值已恢复为默认值。我想知道这是否意味着每个活动都有一个活动管理器实例 基本上,我在ActivityManager中添加了以下内容: public static boolean s = false; public void setS(boolean b) { s = b; } public boolean getS() { return s; } 然后我编译了操作系统,
public static boolean s = false;
public void setS(boolean b) { s = b; }
public boolean getS() { return s; }
然后我编译了操作系统,在我的应用程序中我使用反射来访问上述方法。如果我不退出我的应用程序,那么setS方法中设置的任何get都会反映在getS方法中。如果我退出应用程序并再次输入,则Get始终返回false。不知道为什么
感谢您的帮助 ActivityManager与系统中运行的所有活动交互。 将您的值保存到SharedReferences。您需要在onstart()和onresume()上再次设置值,并将值保存到onStop()和onDestroy()中的SharedReferences
退出应用程序时,reason getS()函数返回false,因为应用程序重新启动并再次设置布尔值。这似乎不是针对所问问题的,这似乎更多地是关于通过实验修改来理解系统,而不是以一种通常的机制(如SharedReferences)更好的方式存储有用的数据。因为您已将此
设置为静态,所以它不属于实例(在OO或Java这个词的含义中),而是属于进程。考虑到您已经使用JNI访问了它,它必须在应用程序自己的进程中,而不是在通过IPC与之交互的系统中。因此,此变量的生存期就是应用程序进程的生存期。这几乎没有告诉您ActivityManager的正常工作方式。