标签: Java AndroidStudio
《第一行代码》的第二章即将告一段落,其中推荐了几种关于Activity的最佳实践!
1. 随时退出程序
使用一个专门的集合类对所有的活动进行管理
新建一个ActivityCollector
public class ActivityCollector extends BaseActivity {
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();
}
}
}
}
2. 接下来修改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);
}
}
其余的每个活动全部继承BaseActivity,用这个方法串接每个活动!!
3 .想要在哪个活动中结束整个App,即可在那个活动中调用
ActivityCollector.finishAll( )
即可杀死所有活动代码!!
亦可加上代码杀掉当前进程,保证程序完全退出!