美文网首页
Activity的销毁

Activity的销毁

作者: shenlong77 | 来源:发表于2017-05-31 14:02 被阅读0次

对于一个单一的活动,按后退键,或者在活动中调用finish()方法,就可以将活动销毁,这里主要说一次销毁所有活动的方法。

1 写好一个管理activity的工具类
public class ActivityCollector {
    public static List<Activity> activities=new ArrayList<>();
    public static void add(Activity activity)
    {
       activities.add(activity);
    }
    public static void delete(Activity activity)
    {
        activities.remove(activity);
    }
    public static void exit()
    {
        for(Activity activity:activities)
        {
            //判断该activity是否已经被销毁了
            if(activity.isFinishing())
            {
                activity.finish();
            }
        }
    }
}
2 建立一个BaseActivity作为所有活动的父类,并重写他的onCreate和onDestory方法,同时不要忘记super方法,不加super方法会有错误。
public class BaseActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //在活动创建时将该活动添加到list中
        ActivityCollector.add(this);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        //在活动销毁时将该活动移除list
        ActivityCollector.delete(this);
    }
}
3 每一个活动都要继承BaseActivity,并在onCreate中调用super.onCreate,在onDestory中调用super.onDestory
public class testActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
    }
}
4 退出所有活动的方法

在需要的地方调用ActivityCollector.exit(),就可以退出所有的活动

ActivityCollector.exit()

相关文章

网友评论

      本文标题:Activity的销毁

      本文链接:https://www.haomeiwen.com/subject/boywxxtx.html