青训营第四期Activity笔记

58 阅读2分钟

生命周期:onCreate()创建回调

        onStart()已启动

onResume()开始互动 onPuse()Activity不在可见下一个生命周期onResume或onStop onStop()Activity不在可见下一个回调onRestart()或onStory() onRestart()重启已停止Activity,下一个回调是onStart onDestory()销毁Activity,释放该资源 onSavelnstanceState()非正常关闭回调,用于保存数据不支持持久 onRestorelnstanceState()/onCreate()用于恢复数据

Activity(启动模式)4基本概念

single Top:不允许连续重复

Standard:默认程序,允许重复

singletask:不允许同个栈内重复

singleinstance:整个系统不允许重复

//提示未在 AndroidMainfest.xml 中找到Activity类的声明 android.content.ActivityNotFoundException: Unable to find explicit activity class //具体类名,包名如下: {com.wj.utils/com.wj.utils.basewidget.BaseButtonMethods}; //需要在AndroidManifest 中声明 have you declared this activity in your AndroidManifest.xml?

Fragment(生命周期)

onAttach(): 完成Fragment和Activity的绑定,参数中的Activity即为要绑定的Activity,可以进行赋值等操作。

onCreate() : 完成Fragment的初始化

onCreateView() : 加载View布局,绑定布局文件

onActivityCreated() : 与Fragment绑定的Activity已经执行完成了onCreate,可以与Activity进行交互操作。

onStart() : Fragment变为可见状态

onResume() : Fragment变为可交互状态

onPause(): Fragment变为不可交互状态(不代表不可见)

onSaveInstanceState():保存当前Fragment的状态。记录一些数据,比如EditText键入的文本,即使Fragment被回收又重新创建,一样能恢复EditText之前键入的文本。

onStop(): Fragment变为不可见状态

onDestroyView() : 销毁Fragment的有关视图,但并未和Activity解绑,可以通过onCreateView()重新创建视图。Fragment销毁时或者ViewPager+Fragment情况下会调用

onDestroy() : 销毁Fragment时调用。

onDetach() : 解除和Activity的绑定。Fragmen销毁最后一步

Activity与Fragment生命周期的区别

fragment生命周期可通过FragmentTransaction.setMaxlifecycle()手动干预

getActivity().findViewByld(R.id.xxx)Fregemnt获取Activity组件

Activity获取fregment中组件:getFragmentManager . findFragmentByld ( R . id . fragment XXx )