开发的时候遇到应用程序不能完全退出的问题,试了很多办法,finish + System.exit(0) 并不管用。
最后找到了一个办法(http://hi.baidu.com/tjbaso/item/48935bd818fa734efa576876)
无论是在继承Activity还是TabActivity或是ActivityGroup都可以正常退出。
1、使用application存储Acivity
public class MyApplication extends Application {
private LinkedList<Activity> sAllActivitys = new LinkedList<Activity>();
public void addActivity(Activity activity){
sAllActivitys.add(activity);
}
public void removeActivity(Activity activity){
sAllActivitys.remove(activity);
}
public LinkedList<Activity> getAllActivitys(){
return sAllActivitys;
}
}
2、原先继承Activity改成BaseActivity,TabActivity改成BaseActivity
#################################################################
package com.first.activity;
import java.util.LinkedList;
import android.app.Activity;
import android.os.Bundle;
public class BaseActivity extends Activity {
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
((MyApplication)getApplication()).addActivity(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
((MyApplication)getApplication()).removeActivity(this);
}
protected void finishAll() {
LinkedList<Activity> sAllActivitys = ((MyApplication)getApplication()).getAllActivitys();
for(Activity activity : sAllActivitys) {
activity.finish();
}
sAllActivitys.clear();
}
protected void exit() {
finishAll();
System.exit(0);
}
}
有空再研究下Activity的生命周期,还有很多没有掌握的。
相关推荐
然而,有时开发者或用户可能希望应用程序能够完全退出,以防止某些资源泄露或内存占用过高。本文将探讨如何在Android应用中实现完全退出,以及解决引用Context未释放导致的OOM(Out of Memory)问题。 首先,理解...
本资料包“Android应用源码完全退出程序的方法.zip”聚焦于如何在Android应用程序中实现这一功能。以下是关于这一主题的详细知识讲解: 1. **Activity生命周期**: Android应用基于Activity堆栈进行管理,每个...
本项目提供了一个Android应用源码示例,适用于毕业设计或深入理解Android应用程序生命周期的学习。下面将详细讲解如何在Android中实现完全退出程序。 首先,了解Android应用的基本结构。一个Android应用通常由一个...
Android 应用崩溃自动启动 给用户给好的体验 本应用还可以扩展为类似京东崩溃时弹出信息反馈框 这需要你自己实现哦 另外欢迎关注我的新浪微博@MinganCai 有问题可以@我 我会尽快给你们回复的 雷锋
在Android应用开发中,用户可能需要在完成一系列操作后彻底退出程序,特别是在处理完敏感信息或者需要节省系统资源的情况下。通常,一个Android应用由多个Activity组成,每个Activity代表一个独立的屏幕或功能。当...
### Android如何实现应用程序的完全退出 在Android开发中,实现应用程序的完全退出是一个常见的需求,尤其是在需要确保资源被正确释放,避免内存泄漏的情况下。本文将详细介绍如何通过使用单例模式和自定义`...
如果想退出Android程序,一般都是调用finish()、System.exit(0)android.os.Process.killProcess(android.os.Process.myPid())等方法来实现退出程序功能,可是在实际开发中,并不能达到完全退出应用程序的效果,...
"UncaughtException不让Android应用异常退出"这个主题,就是关于如何处理程序中的未捕获异常,以防止应用突然崩溃,从而提升用户体验。在这个问题上,我们可以从以下几个方面来探讨: 1. **...
要实现Android应用程序的完全退出,我们可以采用特定的方法。本文将详细介绍一种解决方案,利用自定义的ExitUtil类和对Activity生命周期的理解来实现。 首先,我们需要创建一个名为ExitUtil的工具类,它的主要作用...
在Android系统中,完全退出一个程序是指结束应用的所有活动并释放其占用的系统资源,以便用户可以快速重新启动或切换到其他应用。这通常涉及到理解Android应用生命周期、使用Activity管理和处理Intent等方面的知识。...
本示例"退出Android应用程序Demo"将讲解如何实现这个功能,涉及到的关键知识点包括Activity的生命周期管理和Service的控制。 首先,我们需要理解Android的Activity生命周期。Activity是Android应用的基本组件,它...
在Android开发中,完全退出应用程序通常指的是关闭所有与应用相关的活动(Activities)和释放系统资源。这不仅是用户体验的一部分,也可能在某些情况下是必要的,比如在内存紧张时优化系统性能。以下是一个关于如何...
在Android应用开发中,完全退出程序意味着结束所有与应用程序相关的活动(Activity)并释放系统资源。用户通常期望点击“退出”按钮后,整个应用程序能够完全关闭,而不是仅仅停留在后台运行。下面我们将详细讨论...
总之,实现完全退出Android应用程序通常涉及到对Activity生命周期的理解,以及可能的自定义事件监听。尽管这并不总是最佳实践,但在某些场景下是必要的。"ColseApp"项目可能提供了一个示例,展示了如何在多种Android...
首先,我们要明白`Application`类是Android应用程序的基类,它在应用启动时最先被创建,并在整个应用生命周期内存在。我们可以通过重写`Application`类的方法,添加一些全局的初始化或清理操作。 **1. 创建自定义...
在这个平台上,开发者可以构建具有图形用户界面(GUI)的Android应用程序,而无需深入理解底层的编程语言。以下是对【快速找人游戏】这个特定应用程序开发的详细分析: 1. **界面设置**: - 应用包含两个主要界面...
如果用户在2秒内再次按下返回键,那么ExitActivity将被销毁,应用程序退出。 这种设计考虑了用户的误操作,提高了应用的易用性。同时,也可以根据需求调整提示时间或者采用其他方式提醒用户,如弹出对话框等。 在...
在Android开发中,确保应用程序能够安全退出是至关重要的。安全退出不仅意味着关闭当前运行的活动,还要处理好程序运行过程中的资源释放、内存管理以及用户数据的保存等问题。以下是一些关于Android程序安全退出的...