android学习笔记——BaseActivity使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a243845305/article/details/51211568
     我们都知道BaseActivity的作用就是将一些所有Activity都会用到的方法抽象出来到一个父类中去,之后子类只需要继承这样一个BaseActivity就可以完成一些常用的方法而不需要重新编写。
      在这里我们写一个活动管理器,来方便应用程序对其Activity的管理与注销

     新建一个ActivityCollector类作为活动管理器

     public class ActivityCollector {
          public static List<Activity> activities =  new ArrayList<Activity>();

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

          public static void removeActivity(Activity activity){
               activities.remove(activity);
          }

          public static void finishAll(){
               for (Activity activity : activities){
                    if (! activity.isFinishing()){
                         activity.finish();
                    }
               }
          }
     }

      接下来我们修改一下BaseActivity中的代码
     
     public class BaseActivity extends Activity{
          @Override
          protected void onCreate(Bundle savedInstanceState) {
               super.onCreate(savedInstanceState);
               Log.d("BaseActivity", getClass().getSimpleName());
               ActivityCollector.addActivity(this);
            }
          @Override
          protected void onDestroy() {
               super.onDestroy();
               ActivityCollector.removeActivity(this);
          }
     }

这样,当我们需要在应用中把所有Activity跟随软件的退出而销毁时,只需要调用一下ActivityCollector的静态方法就可以了。

猜你喜欢

转载自blog.csdn.net/a243845305/article/details/51211568