您现在的位置是:首页 > 文章详情

Android在Application层级维护和管理全局所有Activity的方法ActivityLifecycleCallbacks

日期:2018-06-21点击:333

Android在Application层级维护和管理全局所有Activity的方法ActivityLifecycleCallbacks

经常看到有些项目中经常性的把所有activity继承自一个base的Activity,然后在每一次启动新activity时候添加当前activity到一个全局List那样的列表中,已达到全局管理和维护activity的目的,这种做法大概是四五年前的技术解决方案。如今谷歌Android官方推出了ActivityLifecycleCallbacks,ActivityLifecycleCallbacks是在Application层级的接口回调,App中所有的任何一个Activity的生命周期方法被触发时候,都会进入相应的ActivityLifecycleCallbacks生命周期里面,例如:

package zhangphil.test; import android.app.Activity; import android.app.Application; import android.os.Bundle; import com.orhanobut.logger.AndroidLogAdapter; import com.orhanobut.logger.Logger; public class MyApp extends Application { @Override public void onCreate() { super.onCreate(); //Logger初始化。 Logger.addLogAdapter(new AndroidLogAdapter()); this.registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks(){ @Override public void onActivityCreated(Activity activity, Bundle savedInstanceState) { //一个App所有的任何一个Actvity进入生命周期的onCreate后会回调这个方法。 } @Override public void onActivityStarted(Activity activity) { //一个App所有的任何一个Actvity进入生命周期的onStart后会回调这个方法。 } @Override public void onActivityResumed(Activity activity) { //一个App所有的任何一个Actvity进入生命周期的onResumed后会回调这个方法。 } @Override public void onActivityPaused(Activity activity) { //一个App所有的任何一个Actvity进入生命周期的onPaused后会回调这个方法。 } @Override public void onActivityStopped(Activity activity) { //一个App所有的任何一个Actvity进入生命周期的onStopped后会回调这个方法。 } @Override public void onActivitySaveInstanceState(Activity activity, Bundle outState) { } @Override public void onActivityDestroyed(Activity activity) { //一个App所有的任何一个Actvity进入生命周期的onDestroyed后会回调这个方法。 } }); } } 

原文链接:https://yq.aliyun.com/articles/615630
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章