Android 中高级面试题:Activity是如何实现LifecycleOwner的?

本文探讨了Android中Activity如何实现LifecycleOwner,通过LifecycleDispatcher和ReportFragment的使用实现低版本兼容,同时指出Activity的LifecycleOwner与Fragment生命周期的不同,强调在开发中需要注意两者回调顺序的差异。文章适合Android开发者在面试前复习准备。
摘要由CSDN通过智能技术生成

}

3、低版本Activity兼容Lifecycle

SupportActivity是伴随Lifecycle才出现的,android.arch.lifecycle:extensions为早期还没有继承SupportActivity的Activity也提供了支持,通过LifecycleDispatcher实现ReportFragment的注入:

class LifecycleDispatcher {

static void init(Context context) {

if (sInitialized.getAndSet(true)) {

return;

}

((Application) context.getApplicationContext())

.registerActivityLifecycleCallbacks(new DispatcherActivityCallback());

}

static class DispatcherActivityCallback extends EmptyActivityLifecycleCallbacks {

private final FragmentCallback mFragmentCallback;

DispatcherActivityCallback() {

mFragmentCallback = new FragmentCallback();

}

@Override

public void onActivityCreated(Activity activity, Bundle savedInstanceState) {

if (activity instanceof FragmentActivity

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值