在 例如, onStart()调用使 Activity 对用户可见,因为应用会为 Activity 进入前台并支持交互做准备。例如,应用通过此方法来初始化维护界面的代码。 当 Activity 进入已恢复状态时,与 Activity 生命周期相关联的所有具有生命周期感知能力的组件都将收到 当 Activity 进入已暂停状态时,与 Activity 生命周期相关联的所有具有生命周期感知能力的组件都将收到 您还可以使用 如果新启动的 Activity 覆盖整个屏幕,就可能会发生这种情况。如果系统已结束运行并即将终止,系统还可以调用 在 onDestroy() //销毁 Ativity 之前,系统会先调用 完整生命周期: 完整生命周期始于onCreate方法回调,止于onDestroy方法回调 当应用快被销毁的时候,可以将数据、状态等存储起来 使用 onSaveInstanceState() 可以保存简单轻量的界面状态 当您的 Activity 开始停止时,系统会调用 要想得到此数据,可以在onCreat()方法里面取拿数据 当按返回键的时候会触发该方法 特殊情况 系统中的 AlertDialog 不是 DialogActivity 的时候 生命周期不会往下走onPause()方法详解Activity生命周期
一、概述
1.方法简述
onCreate()
方法中,您需执行基本应用启动逻辑,该逻辑在 Activity 的整个生命周期中只应发生一次。onCreate()
的实现可能会将数据绑定到列表,将 Activity 与 ViewModel
相关联,并实例化某些类范围变量。此方法接收 savedInstanceState
参数,后者是包含 Activity 先前保存状态的 Bundle
对象。如果 Activity 此前未曾存在,则 Bundle
对象的值为 null。 声明界面(在 XML 布局文件中定义)、定义成员变量,以及配置某些界面。
onStart()
方法会非常快速地完成,并且与“已创建”状态一样,Activity 不会一直处于“已开始”状态。一旦此回调结束,Activity 便会进入已恢复状态,系统将调用 onResume()
方法。
onResum()
回调ON_RESUME
事件。这时,生命周期组件可以启动任何需要在组件可见,且位于前台时运行的功能,例如启动摄像头预览。
ON_PAUSE
事件。这时,生命周期组件可以停止任何无需在组件未在前台时运行的功能,例如停止摄像头预览。onPause()
方法释放系统资源、传感器(例如 GPS)手柄,或当您的 Activity 暂停且用户不需要它们时仍然可能影响电池续航时间的任何资源。
onStop()
回调。onStop()
onStop()
方法中,应用应释放或调整应用对用户不可见时的无用资源。例如,应用可以暂停动画效果,或从细粒度位置更新切换到粗粒度位置更新。使用 onStop()
而非 onPause()
可确保与界面相关的工作继续进行,即使用户在多窗口模式下查看您的 Activity 也能如此。 还应该使用 onStop()
执行 CPU 相对密集的关闭操作 。
onDestroy()
onDestroy()
回调应释放先前的回调尚未释放的所有资源。2.三种周期
可见周期: 可见周期始于onStart方法回调,止于onStop方法回调
前台周期: 前台周期始于onResume方法回调,止于onPause方法回调二、生命周期中涉及到的其他方法
1.onSaveInstanceState() 方法
onSaveInstanceState()
方法,以便您的 Activity 可以将状态信息保存到实例状态 Bundle 中。此方法的默认实现保存有关 Activity 视图层次结构状态的瞬态信息,例如 EditText
微件中的文本或 ListView
微件的滚动位置。@Override public void onSaveInstanceState(@NonNull Bundle outState, @NonNull PersistableBundle outPersistentState) { super.onSaveInstanceState(outState, outPersistentState); //key-value 类型 outState.putString("",""); }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //从savedInstanceState()方法中取得数据 String value = savedInstanceState.getString("key"); initViews(); }
2.onBackPressed()方法
三、四条生命线
Line 1 onCreate() → onDestroy() 完整生命周期
Line 2 onStart()→ onStop() 可见周期
Line 3 onResume()→ onPause() 前台周期
)
Line 4 内存不够时 App 会被kill掉的情况
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算