android - 在android中重新启动 Activity 时取消初始化所有变量和函数值

标签 android

我只想在重新启动应用程序后重新初始化所有静态和非静态函数和变量。 我用这个,但是没成功。

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/

相关文章:

android - 我如何搜索应用程序名称而不是包名称并打开它?

android - 为相机实现 Tap To Focus 的正确方法是什么?

android - GCM BroadcastReceiver 仅在应用程序正在运行或在后台运行时触发

java - 使用 Okhttp3 的 OPTIONS/HEAD REST API 请求

android - 如何在多个 Activity 中使用 Android Nearby Connections

android - Android中的辅助功能实现问题

安卓市场计费系统

android - 在 cocos2dx 中的 "pages"(CCLayer) 之间移动

android - 我的 Android 应用程序的动态通知

java - Android:找不到这样的文件或目录错误?