第一行代码 activity随记

管理活动(activity):

创建一个专门的集合来对所有的活动(activity)进行管理。
简单的例子:

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中调用

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    
    ActivityCollector.addActivity(this);
}
@Override
protected void onDestroy() {
    super.onDestroy();
    ActivityCollector.removeActivity(this);
}

在需要直接退出应用的地方用

ActivityCollector.finishAll();

当然你还可以在销毁所有活动的代码后面再加上杀掉当前进程的代码,以保证程序完全退出。

启动活动

在每个活动中添加一个actionStart()方法,在这个方法中实现跳转,活动所需要的数据全部在该方法参数中体现出来。例如:

public class TestActivity extends BaseActivity() {
    public static void actionStart(Context context, String data1, String data2) {
        Intent intent = new Intent(context, TestActivity .class);
        intent.putExtra("param1", data1);
        intent.putExtra("param2", data2);
        context.startActivity(intent);
     }
     ......
}

启动TestActivity活动时:

TestActivity.actionStart(context, "data1", "data2");

推荐阅读更多精彩内容