您的位置:首页 > 移动开发

一个通过自定义application管理安卓activity的例子

2016-06-06 08:59 357 查看
public class CommonApplication extends Application {

private static CommonApplication instance;  

@Override
public void onCreate() {                        //不要重写构造方法,否则造成闪退。重写onCreate方法即可
super.onCreate();
instance=this;
}

private List<Activity> mList = new LinkedList<Activity>();   //用于存放每个Activity的List  

  

  

public static CommonApplication getInstance() {   //通过一个方法给外面提供实例  

     

        return instance;     
  }     

   // add Activity      
  public void addActivity(Activity activity) {     
           mList.add(activity);     
  }     
  
  public void removeActivity(Activity activity)   //页面不需要了删除引用,否则出现内存泄漏
  {
  mList.remove(activity);
  }

   
   public void exit() {                                              //遍历List,退出每一个Activity     

        try {     
          for (Activity activity : mList) {     
              if (activity != null)     
                  activity.finish();     
           }     

        } catch (Exception e) {     
           e.printStackTrace();     
     } finally {     
          System.exit(0);     
     }     
   }     

  @Override     

   public void onLowMemory() {     

      super.onLowMemory();         

       System.gc();   //告诉系统回收  

  }        

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息