`

Android Activity必知

阅读更多

Activity 用四个基本的状态

1 active 如果 activity 在前台(在栈的最顶部),那么他处于 active  running 的状态

2 paused : 如果 activity 已经失去但仍保持可见(具有焦点的新 activity 不是全屏的或者透明),那这个 activity 处于 paused 状态。   一个 paused activity 仍然是 alive( 仍然保持所有的状态和成员信息,保持着和 window manager attached 关系 ) ,但在系统处于低内存状态可能被 killed

3 stopped: 如果 activity 被另外一个 activity 完全屏蔽,那么他处于 stopped 状态。这样的 Activity 仍然保持所有的状态和成员信息,然而,对于用户而言将不在可见并且很容易被 killed 当系统需要额外的内存时。

4 Killed .  如果 activity 处于 paused stopped 状态,系统可能从内存中销毁 activity 通过调用 finish 或者简单的杀掉他的进程。当再次显示时,将全部重新启动和加载原来的状态

api:

onCreate(Bundle) 到最终调用 onDestroy() 称为完整生命周期

onStart() 开始,到调用对应的 onStop() 为止称为可见生命周期

onResume() 开始,到调用对应的 onPause() 为止称为前景生命周期

 

onCreate(Bundle)   初次创建时被调用,  创建view 、将数据绑定到list

onStart()   activity 首次创建,本方法后将会调用onStart()

onRestart()   activity 是停止后重新显示,则将调用onRestart()

onResume()   activity activity 栈的栈顶,  从停止状态重新启动时调用

onPause() 当系统要启动一个其他的activity 时调用(其他的activity 显示之前),这个方法被用来提交那些持久数据的改变、停止动画、和其他占用CPU 资源的东西

onStop() 当另外一个activity 恢复并遮盖住此activity, 导致其对用户不再可见时调用,  一个新activity 启动、其它activity 被切换至前景、当前activity 被销毁时都会发生这种场景

onDestroy() activity 被销毁前所调用的最后一个方法,对activity 直接调用 finish() 方法

 

 

Activity的四种加载模式

Activity有四种加载模式:

1 standard:  每次都创建了该Activity的新实例。standard的加载模式就是这样的,intent将发送给新的实例,
              点Android设备的回退键,可以看到是按照刚才创建Activity实例的倒序依次出现,类似退栈的操作,而刚才操作跳转按钮的过程是压栈的操作
2 singleTop: singleTop要求如果创建intent的时候栈顶已经有要创建的Activity的实例,则将intent发送给该实例,而不发送给新的实例,可用来解决栈顶多个重复相同的Activity的问题
3 singleTask: 当intent到来,需要创建singleTask模式Activity的时候,系统会检查栈里面是否已经有该Activity的实例。如果有直接将intent发送给它
4 singleInstance: 解决Activity共享后,回退的问题

分享到:
评论

相关推荐

    打造高质量Android应用 Android开发必知的50个诀窍 (PDF+Code)

    以下就是从"打造高质量Android应用 Android开发必知的50个诀窍"中提炼出的一些核心知识点: 1. **性能优化**:包括对内存管理的理解,避免内存泄漏,合理使用软引用和弱引用,以及优化UI绘制过程,减少不必要的布局...

    Android中高级面试必知必会.zip

    在Android的中高级面试中,面试官通常会深入考察应聘者的技能和经验,涵盖Java语言基础、Android核心概念、Android Framework、三方库源码分析以及新兴技术如Kotlin和Flutter等。以下是对这些知识点的详细解析: 1....

    2022中高级Android面试必知百题.pdf.zip

    《2022中高级Android面试必知百题.pdf》是一部专门为准备中高级Android开发者面试设计的指南。这本书涵盖了从基础概念到高级技术,旨在帮助读者全面了解Android开发中的核心知识点,以应对各种面试挑战。以下是一些...

    云知声集成AndroidStudio版(语音输入方案)

    4. 初始化:在应用的入口Activity的`onCreate`方法中,初始化云知声SDK,通常需要一个AppKey来验证身份: ```java VoiceInputConfig config = new VoiceInputConfig(); config.setAppKey("your_app_key"); ...

    云知声集成AndroidStudio版(语音输入方案

    云知声是一家专注于智能语音技术的公司,其提供的集成Android Studio版语音输入方案,为开发者提供了便捷的API和工具,以便将语音识别功能轻松地整合到Android应用中。 首先,我们要理解云知声的语音识别技术是如何...

    Android框架揭秘(完整版pdf)

    Android框架揭秘 金泰延 宋亨周 朴知勋 李白 林起永 著 武传海译 《Android框架揭秘》通过对Android系统源代码的分析,主要介绍Android框架的初始化过程及主要组件的工作原理。作者直接分析和整理了Android框架的...

    Android应用开发完全自学手册

    第5章:Android控件必知必会 这一章将深入讲解一些进阶的UI控件,如Spinner、DatePicker、TimePicker、ProgressBar等,以及自定义视图的创建。开发者将学习如何利用这些控件来增强用户交互体验。 第6章:Android...

    android 开发技巧

    应用结构涉及了Activity、Service、IntentReceiver、ContentProvider等核心组件,它们共同构成了Android应用的基础。这些组件各自有不同的职责,例如Activity负责用户界面,Service负责后台处理,IntentReceiver处理...

    Android系统源代码

    深入研究Android系统源代码,可以揭示许多不为人知的细节和优化技巧。例如,了解Binder机制,可以理解Android进程间通信的原理;探究Android的权限管理系统,可以掌握如何安全地处理敏感数据。此外,源代码中还隐藏...

    android的基本知识

    最后,【第5章 Android控件必知必会】深入探讨了控件的高级用法和一些特定控件。例如,AdapterView(适配器视图)和RecyclerView用于展示可滚动的数据列表,DatePicker和TimePicker用于日期和时间的选择,...

    新手如何学好Android

    同时,对于Android开发,还需要了解Android的基本概念,包括Android SDK的安装和配置、Android应用程序的生命周期、活动(Activity)、服务(Service)、广播接收器(BroadcastReceiver)以及内容提供器(ContentProvider)...

    Android ApiDemos apk

    接下来是Presentation,这是Android中一个不太为人所知但十分重要的概念。Presentation类允许开发者创建一个独立的窗口,可以在外部显示器上显示,非常适合实现双屏或多屏应用。在ApiDemos apk中,我们可以看到如何...

    android开发图标分享

    2. **Activity图标**:在应用内的各个Activity之间切换时,系统会显示这些图标。 3. **Notification图标**:出现在状态栏或通知中心,用于提醒用户有新的消息或事件。 4. **Action图标**:在Action Bar或Toolbar上,...

    Android学习路线和职业规划探讨.pdf

    首先,Android的学习路线应当从基础的知识体系开始,这包括了四大组件(Activity、Service、BroadcastReceiver、ContentProvider)、应用的布局和界面设计、自定义View的实现方法和动画的使用。深入的知识点则涉及到...

    Android框架揭秘.pdf

    Android框架揭秘是一本详细分析和解释Android系统源代码的学术著作,作者是金泰延、宋享周、朴知勋、李白和林起永,译者为武传海,由人民邮电出版社出版。该书主要探究了Android框架的初始化过程以及主要组件的工作...

    善知堂整理2017年最新android笔试题,面试题 高清完整.pdf版下载

    在进行Android面试准备时,了解相关的知识点是必不可少的。善知堂整理的这份资料为我们提供了2017年最新的Android笔试和面试题,以下是对这些知识点的详细解释: 1. 内存回收的相关知识点 在Android开发中,垃圾...

    Android底层结构-SDK_Service线程知多少.doc

    当一个Activity通过Binder接口调用远程Service时,Android底层会在绑定过程中从进程的线程池中创建一个新的线程来处理这个Service的Binder接口对象。这样做的好处是避免了主线程被远程调用阻塞,保证了UI的流畅性。 ...

    深入理解Android:卷I--详细书签版

     本书是在分析Android源码的基础上展开的,而源码文件所在的路径一般都很长,例如,文件AndroidRuntime.cpp的真实路径就是framework/base/core/jni/AndroidRuntime.cpp。为了书 写方便起见,我们在各章节开头把该...

    Android底层结构-SDK+Service线程知多少

    3. **Bound Service**:通过绑定到另一个组件(如Activity)来提供服务,当所有绑定组件都解除绑定时,服务会被自动停止。 理解Service的工作原理至关重要,因为不当使用可能会导致应用被系统杀死或降低用户体验。...

Global site tag (gtag.js) - Google Analytics