最近打算自己把所学的Android相关内容,做成一个demo,顺便总结回顾,纯属个人记录
管理Activity
项目开发第一步搭建框架,当然这个根据项目大小复杂度,具体需求而定。但肯定少不了对Activity的管理,传统做法是在BaseActivity中维护一个List或者stack,这样基本满足需求。但好的程序得要一劳永逸,走走极端。万一Activity不继承BaseActivity呢,那就得在生命周期中多写一系列跟维护list相关的代码,逻辑复杂,代码也难维护。
解决方案
自Android4.0(API-14)开始,Application中多了一个方法,可以全局监听Activity的生命周期(
registerActivityLifecycleCallbacks(ActivityLifecycleCallbacks callbacks)
)那简单了,我的维护List或者Stack并不需要跟BaseActivity有任何的关系了,不管你创建的是什么Activity,在Application中都是能够获取到监听回调
public interface ActivityLifecycleCallbacks {
void onActivityCreated(Activity activity, Bundle savedInstanceState);
void onActivityStarted(Activity activity);
void onActivityResumed(Activity activity);
void onActivityPaused(Activity activity);
void onActivityStopped(Activity activity);
void onActivitySaveInstanceState(Activity activity, Bundle outState);
void onActivityDestroyed(Activity activity);
}
ActivityLifecycleCallbacks 基本对应Activity的生命周期,这里就不详细说了。
既然有了方法,接下来就直接开干了
首先,管理类还是需要有的
import android.app.Activity;
import android.util.Log;