,android程序运行崩溃,然后不能全部退出

求助,android程序运行崩溃,然后不能全部退出!
我原先是在跳转activity的时候将activity加入基类的activity集合中,退出时,去清除List中的所有的activity。

public class MyApplication extends Application{ 
    private static MyApplication instance; 

    private List<Activity> activitylist=new LinkedList<Activity>(); 

    public static MyApplication getInstance(){ 
        if(null==instance){ 
             instance = new MyApplication(); 
        } 
        return instance; 
    } 

    public void addActivity(Activity activity){ 
        activitylist.add(activity); 
    } 

    public void exit(){ 
        for(Activity ac:activitylist){ 
            ac.finish(); 
        } 
        System.exit(0); 
    } 



开始时这样去退出所有activity的。但是这里就发现了一个问题。
    就是当我的程序运行出错而导致崩溃的时候,他会自动关闭现在这个程序,而去再打开一个新的程序(我猜测是这样,等待大神帮我解惑!),然后现在我点退出的话,就需要连续点很多次退出了。因为我每个页面都有一个退出按钮,这样的话,点击一个退出,他回到上个页面,并没玩完全退出整个程序。求大神帮助解决!
Android

------解决方案--------------------
新的程序的activity对象和原来崩溃的程序的activity对象不一样。所以退出的时候exit()方法就没用了。
你的addActivity方法在哪里调用的?
还有,你的这个数据结构用的不对。最好用set或者map来管理activity。
否则当你多次启动一个activity的时候,会往list里面加入同一个对象,造成内存泄露。

------解决方案--------------------
加一个全局的异常捕获,在崩溃的时候,把activitylist清空,做得更好点的话,把机型、时间、安卓版本、异常信息发送回服务器,分析分析