ANDROID 完美退出APP的实例代码
2019/7/7 20:17:13
本文主要是介绍ANDROID 完美退出APP的实例代码,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
大家都知道 Android 的 Activity 是存着历史栈的,比如从 A -> B -> C,C 完成 finish 后回到 B,把所有的Activity 都 finish了,程序就自然退出了。 当然在 finish 的同时也需要是否自己程序的其他资源。所以需要想个办法把 Activity 给存起来。然后在程序退出的地方调用它们的 finish()方法。
使用全局变量。对了,第一个想到的就是继承 Application,代码入下:
public class AgentApplication extends Application {
private List<Activity> activities = new ArrayList<Activity>();
public void addActivity(Activity activity) {
activities.add(activity);
}
@Override
public void onTerminate() {
super.onTerminate();
for (Activity activity : activities) {
activity.finish();
}
onDestroy();
System.exit(0);
}
}
然后在 Activity onCreate 的时候来调用 addActivity (),有人可能想到这个Application需要在所有的 Activity onCreate的时候都使用,需要做一个单例实例。其实根本不需要。在 Activity 中使用 this.getApplication() 就可以了。
最后在你需要推出程序的地方调用 application.onTerminate() 就可以了。记住:super.onTerminate() 必须调用,代码中的 onDestroy()是我自己的释放其他资源的方法,不是系统的。
运行以上代码后,在LogCat 中会出现一行提示:
Process 包名 (pid xxxxx) has died. 证明你的程序退出了。
使用全局变量。对了,第一个想到的就是继承 Application,代码入下:
复制代码 代码如下:
public class AgentApplication extends Application {
private List<Activity> activities = new ArrayList<Activity>();
public void addActivity(Activity activity) {
activities.add(activity);
}
@Override
public void onTerminate() {
super.onTerminate();
for (Activity activity : activities) {
activity.finish();
}
onDestroy();
System.exit(0);
}
}
然后在 Activity onCreate 的时候来调用 addActivity (),有人可能想到这个Application需要在所有的 Activity onCreate的时候都使用,需要做一个单例实例。其实根本不需要。在 Activity 中使用 this.getApplication() 就可以了。
最后在你需要推出程序的地方调用 application.onTerminate() 就可以了。记住:super.onTerminate() 必须调用,代码中的 onDestroy()是我自己的释放其他资源的方法,不是系统的。
运行以上代码后,在LogCat 中会出现一行提示:
Process 包名 (pid xxxxx) has died. 证明你的程序退出了。
这篇关于ANDROID 完美退出APP的实例代码的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-01-18android.permission.read_media_video
- 2024-01-18android_getaddrinfo failed eai_nodata
- 2024-01-18androidmo
- 2024-01-15Android下三种离屏渲染技术
- 2024-01-09Android 蓝牙使用
- 2024-01-06Android对接华为AI - 文本识别
- 2023-11-15代码安全之代码混淆及加固(Android)
- 2023-11-10简述Android语音播报TTS
- 2023-11-06Android WiFi工具类
- 2023-07-22Android开发未来的出路