如果activity没有全部结束,exit是会重启app
而且不会执行ondestory等其他生命周期
资料:http://www.cnblogs.com/lesliefang/p/3933640.html

解决方案 »

  1.   

    谢谢大神,我在网上看了很多,是不是只能记录每次打开activity,然后退出的时候挨个 finish? 退出时候执行onCreate  如果程序异常也是这样么
      

  2.   

    异常的话程序一般都是重启应用的
    可用uncaughtexceptionhandler捕获异常然后自己处理,执行system.exit做到。activity虽然可以记录然后全部finish
    但程序设计合理的话,按back键应该都能依次退出。所以也就无需存储每个activity
      

  3.   

    谢谢大神,问题解决了,是activity 没退出完
    private List<Activity> activityList = new LinkedList<Activity>(); 
            private static LogoutUtil instance;
            private LogoutUtil()
            {
            }
             //单例模式中获取唯一的MyApplication实例 
             public static LogoutUtil getInstance()
             {
                  if(null == instance)
                  {
                     instance = new LogoutUtil();
                  }
                 return instance;             
             }
             //添加Activity到容器中
             public void addActivity(Activity activity)
             {
                activityList.add(activity);
             }
             //遍历所有Activity并finish
             public void exit()
             {
                 for(Activity activity:activityList)
                 {
                   activity.finish();
                 }
                   System.exit(0);
            }
             }