Glide.with(Activity) 也是让 Activity 创建出一个 Fragment ,在 Fragment 的各个生命周期方法内插入回调函数后,执行代码来实现的

SupportActivity.java(support库)
------------------------------
@Override
@SuppressWarnings("RestrictedApi")
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ReportFragment.injectIfNeededIn(this);
}

ComponentActivity.java(androidx库)
------------------------------
@Override
@SuppressWarnings("RestrictedApi")
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ReportFragment.injectIfNeededIn(this);
}

ReportFragment.java
------------------------------
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
dispatchCreate(mProcessListener);
dispatch(Lifecycle.Event.ON_CREATE);
}

@Override
public void onStart() {
super.onStart();
dispatchStart(mProcessListener);
dispatch(Lifecycle.Event.ON_START);
}

@Override
public void onResume() {
super.onResume();
dispatchResume(mProcessListener);
dispatch(Lifecycle.Event.ON_RESUME);
}

@Override
public void onPause() {
super.onPause();
dispatch(Lifecycle.Event.ON_PAUSE);
}

@Override
public void onStop() {
super.onStop();
dispatch(Lifecycle.Event.ON_STOP);
}

@Override
public void onDestroy() {
super.onDestroy();
dispatch(Lifecycle.Event.ON_DESTROY);
// just want to be sure that we won‘t leak reference to an activity
mProcessListener = null;
}

private void dispatch(Lifecycle.Event event) {
Activity activity = getActivity();
if (activity instanceof LifecycleRegistryOwner) {
((LifecycleRegistryOwner) activity).getLifecycle().handleLifecycleEvent(event);
return;
}

if (activity instanceof LifecycleOwner) {
Lifecycle lifecycle = ((LifecycleOwner) activity).getLifecycle(http://www.amjmh.com/v/BIBRGZ_558768/);
if (lifecycle instanceof LifecycleRegistry) {
((LifecycleRegistry) lifecycle).handleLifecycleEvent(event);
}
}

————————————————

原文地址:https://www.cnblogs.com/liyanyan665/p/11379427.html

时间: 2024-10-13 12:51:23

Glide.with(Activity) 也是让 Activity 创建出一个 Fragment ,在 Fragment 的各个生命周期方法内插入回调函数后,执行代码来实现的的相关文章

Activity的生命周期方法

简介: Activity类作为Android的系统组件,它由系统创建它的对象, 当这个对象已经创建完成之后,系统会调用一系列指定的方法,这些方法我们 称之为生命周期方法. 什么是生命周期? ·生命周期 是指一个事物(可能是没有实体的)从无到有,然后从有到无 的过程,它的基本意义可以通俗的理解为"从摇篮到坟墓"的整个过程,根据事物不同,经历的阶段所不同. ·Activity是由Android系统进行维护的,它的对象的创建,销毁过程都由Android系统来完成, 并且在创建到销毁的这个阶段

Activity生命周期方法的调用顺序工程与测试日志

下面为测试activity的方法的执行顺序   工程与测试资源地址 android工程 AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.finalizetest"

Activity的生命周期及各生命周期方法的作用

一.Activity的生命周期中各个方法的作用 onCreate(): 做Activity上所需要数据的初始化工作. onStart(): 显示Activity界面,此时用户对界面可见但不可交互. onResume(): 此时用户可与应用进行交互,做你想做的事. onPause(): 此时用户可见但不可交互的,或者说此时界面没有焦点,例如弹出一个对话框. onstop(): 此时界面变得不可见 ,被下一个activity覆盖或者最小化了. onDestroy(): 这是activity被干掉前最

UI进阶--控制器View的创建流程以及生命周期方法

控制器view的创建流程: 1.先加载loadView:如果有,即根据里面的代码创建: 2.loadView没有相关的代码,就根据Main.storyboard文件来创建,Main.storyboard有,即根据里面的描述创建; 3.Main.storyboard里面没有相关的界面,那么就会查找nibname的xib文件,如果有,即根据界面创建: 4.如果nibname文件找不到,那么就会找view.xib文件,如有,即根据界面创建: 5.如果viw.xib也没有,那么就直接找到viewCont

GoogleDoc - 温故而知新Activity生命周期方法

3.创建Activity一般人所不知道的地方   1)Activity里的各个生命周期的方法一般执行什么代码      >>onCreate() method shows some code that performs some fundamental setup for the activity, such as declaring the user interface (defined in an XML layout file), defining member variables, a

android 中在activity弹出一个对话框,并不会执行onpause生命周期方法

在实际的应用开发中,我们可能会在onResume中进行网络交互,在网络交互的过程中免不了使用Progressdialog,那么现在问题来了,在我们弹出一个进度对话框的时候如果我们的activity的onpause生命方法得到执行,然后在数据加载完毕,对话框进行消失的时候,activity的onResume再次得到执行,然后再次请求网络,这样一个恶性循环就开始了,这样的错误实在是太严重了,当然了上面只是在我的想象之中,然后就用代码实验了下,在弹出一个对话框的时候我们activity的onpause

Activity生命周期方法的调用顺序project与測试日志

以下为測试activity的方法的运行顺序   project与測试资源地址 androidproject AndroidManifest.xml <? xml version="1.0" encoding="utf-8"? > <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.finali

关于Activity的生命周期方法

关于onBackPressed()方法 onBackPressed()方法用于处理回退按钮事件. 当界面在主Activity时,我们往往不希望用户按返回键就finish()掉主界面.我们可以把返回键打造成home键.方法如下: 重写onBackPressed()方法即可 @Override public void onBackPressed() { //实现Home键效果 Intent intent= new Intent(Intent.ACTION_MAIN); intent.setFlags

Activity生命周期+四种模式——枯燥重要(五)

Activity生命周期+四种模式 了解android系统的四大组件 掌握Activity的生命周期 LogCat的使用 Android系统有四个重要的组件,分别是 Activity Service BroadcastReceiver ContentProvider Activity是Android程序的呈现层,显示可视化的用户 界面,并接收与用户交互所产生的界面事件 Android应用程序可以包含一个或多个Activity,一般在 程序启动后会呈现一个Activity,用于提示用户程序已经 正