如题。我想知道当我们要退出程序时,大家是用什么方法来完全关闭所有程序呢?
------解决思路----------------------
个人在使用System.exit(0);暂时没有遇到不可控的问题
------解决思路----------------------
程序退出的方法有很多,我推荐2中能够完全退出,不过操作起来会稍微麻烦一点。
1.使用单例模式来创建和管理Activity,
创建一个Application的子类:
public class BaseApplication extends Application {
private List<Activity> activites= new LinkedList<Activity>();
private static BaseApplication instance;
private BaseApplication(){
}
public static BaseApplication getInatace(){
if(instance==null){
instance=new BaseApplication();
}
return instance;
}
public void addActivity(Activity activity){
activites.add(activity);
}
public void exitApp(){
for(Activity activity:activites){
activity.finish();
}
System.exit(0);
}
}
然后再每一个的Activity的onCreate方法中加上代码:
BaseApplication.getInstance().addActivity(this);
在需要退出整个应用的地方直接调用即可:
BaseApplication.getInstance().exit();
这样就使用单例模式实现了整个程序的退出,其实很简单,也很实用。
2.可以使用广播的方式,我觉得比较麻烦。
思路比较清晰,每个Activity中实现一个广播接收器,当需要退出应用的时候直接发送广播通知即可,代码就不写了。
3.异常退出,人为的制造一个异常,系统会自动将该应用杀死。