zoukankan      html  css  js  c++  java
  • 更好的管理活动

    1》知晓当前是哪一个活动

    建立一个BaseActivity 类继承AppCompatActivity 类,然后在其中输出当前活动的名称,将原来继承AppCompatActivity 类的类改为继承BaseActivity

    public class BaseActivity extends AppCompatActivity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Log.d("NaseActivity", getClass().getSimpleName());
    ActivityCollector.add(this);
    }

    @Override
    protected void onDestroy() {
    super.onDestroy();
    ActivityCollector.remove(this);
    }
    }

    2》活动的统一销毁

    新建类ActivityCollector 在其中创建一个List同于安放新创建的活动,在需要时直接调用其中的finishiall函数将所有活动一起销毁

     

    
    
    package com.example.activitytest;

    import android.app.Activity;

    import java.util.ArrayList;
    import java.util.List;

    /**
    * Created by lenovo on 2019/1/23.
    */

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

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

    调用函数销毁所有的活动时可以使用 android.os.Process.killProcess(android.os.Process.myPid());来销毁程序有利于保证数据的完全销毁

     

    public void onClick(View v)
    {
    ActivityCollector.finishiall();
    android.os.Process.killProcess(android.os.Process.myPid());
    }
     
     
  • 相关阅读:
    五种IO模型透彻分析
    linux正则表达式
    洛谷P1242 新汉诺塔 【神奇的递归】
    【NOIP2012】疫情控制
    [ZJOI2007]棋盘制作 【最大同色矩形】
    [NOIP2008]双栈排序 【二分图 + 模拟】
    LCA的倍增算法
    最大权闭合子图
    小Z的袜子 题解报告【莫队】
    ZJOI2012网络 题解报告【LCT】
  • 原文地址:https://www.cnblogs.com/837634902why/p/10306842.html
Copyright © 2011-2022 走看看