Android Activity管理

本文介绍了如何使用Android的ActivityLifecycleCallbacks进行全局Activity管理,避免在BaseActivity中维护List,简化代码并提高可维护性。通过在Application中注册回调,可以在Activity创建和销毁时自动进行管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近打算自己把所学的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;
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值