RN之ReactActivity源码分析

我们来分析一下ReactActivity这个类

import android.app.Activity;   1
import android.content.Intent; 2
import android.os.Bundle;  2
import android.view.KeyEvent;  3

import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler;
import com.facebook.react.modules.core.PermissionAwareActivity;  4
import com.facebook.react.modules.core.PermissionListener;   5

1:是我们android的activity

2:是我们的intent以及bundle

3:是按键

4:是权限的确认等类

5:权限的监听

下面来分析一下我们类的头部是什么

public abstract class ReactActivity extends Activity
    implements DefaultHardwareBackBtnHandler, PermissionAwareActivity

这俩个,第一个是我们的物理键,第二个是权限的

在这边我们没看到什么东西,我们继续看下面的:

  private final ReactActivityDelegate mDelegate;

这个类,我们进去看一下:

public ReactActivityDelegate(Activity activity, @Nullable String mainComponentName) {
  mActivity = activity;
  mMainComponentName = mainComponentName;
  mFragmentActivity = null;
}

public ReactActivityDelegate(
  FragmentActivity fragmentActivity,
  @Nullable String mainComponentName) {
  mFragmentActivity = fragmentActivity;
  mMainComponentName = mainComponentName;
  mActivity = null;
}

看到这边,我们是不是应该醒悟了- -!!,马丹的,人家facebook特地给我们做了FragmentActivity这个类的,不单单是activity。

继续看下去

protected @Nullable Bundle getLaunchOptions() {
  return null;
}

这个玩意?What?Null值,我使用过,其实这个是作为提前传值到bundle,而不是走异步!!

继续看下去:

protected ReactRootView createRootView() {
  return new ReactRootView(getContext());
}

创建ReactRootView,这个是干嘛的?我们看一下ReactRootView这个是什么鬼:

先看头部:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值