我只想在重新启动应用程序后重新初始化所有静态和非静态函数和变量。 我用这个,但是没成功。
Intent intent = getBaseContext().getPackageManager()
.getLaunchIntentForPackage(getBaseContext().getPackageName());
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
最佳答案
如果您想清除所有静态成员,您正在使用的代码帮不了您。它只是重新启动启动器 Intent ,而不是重新启动应用程序。为此,您必须使用以下代码终止您的应用。
int processId = android.os.Process.myPid();
android.os.Process.killProcess(processId);
如果您要使用此代码,请不要将其放在 onDestroy()
中,而是可以使用 onStop(),因为此回调 onDestroy()
方法会在以下时间调用操作系统内存不足,想要重新分配它(有关更多信息,请阅读 this)。
如果要手动重启应用,这个东西也帮不了你。因为要重新启动您的应用程序,您将不得不启动启动器 Activity ,这在终止应用程序后是不可能的。
您只需将 null 分配给所有静态变量(无需重新发送方法)。
关于android - 在android中重新启动 Activity 时取消初始化所有变量和函数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31602572/