`
fxxd1212
  • 浏览: 26429 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android深入浅出系列课程---Lesson3 AAF110427_进程生命周期Process Lifecycle

阅读更多
大家好,上一讲我们介绍了Android中Log,这一讲我们来讲下进程生命周期Process Lifecycle。
一、课程目标:
        熟悉Android Process生命周期

    掌握Android进程的5个等级

二、重点难点:
        理解性的记忆Android的5个等级的的含义及转换关系

三、考核目标:
        请说出Android进程5个等级及区别?

    请说出Android进程5个等级优先级别

四、课后练习:
        写一个Demo,打出当前进程的等级
l 真人真事,一道面试题引发的故事:
1)思考题:Android的5个进程等级(Process Levels)?
l Android进程如何启动的?
l Android的5个进程等级(Process Levels)
1) Foreground Process
正处于Activity Resume() 状态

正处于与bound服务交互的状态

正处于服务在前台运行的状态 , (startForeground() 被调用)

Service生命周期函数正在被执行 ( onCreate() , onStart() , onDestroy())

BroadcastReceiver 正在执行onReceive()方法




杀死Foreground Process 需要用户响应-因为这个安全优先级是最高的

2) Visible Process
Activity 不在前端显示 , 但也没有完全隐藏,能够看得见,比如弹出一个对话框 。(Input Method)
一个bound到visible 或者 foreground 的activity的 Service


3) Service Process
正在运行的,不在上述两种状态的Service
4) Background Process
不可见状态的Activity进程,(onStop()被调用)
5) Empty Process
没有运行任何Components的进程,保留这个进程主要是为了缓存的需要
l 这里需要提到一点:如果又有Service又有Visible Activity怎么办?
From developer.android.com :
if a process hosts a service and a visible activity, the process is ranked as a visible process, not a service process.
当进程既有Service 并且 有Visible Activity的时候,进程会被认为是Visible 进程 。
得出结论:优先级高的为准。


本讲对Android中进程生命周期(Process Lifecycle)的介绍,下一讲将进入manifest,内容预告:AAF110429_介绍manifest文件的使用,敬请期待。

特别推荐新课程:Android开发高端课程
http://www.mobidever.com/forum.php?mod=viewthread&tid=2098
本课视频地址:http://www.tudou.com/programs/view/OSd-KEwesV4/ (土豆网)
课程下载地址:http://www.verycd.com/topics/2900036/ (VeryCD电驴)
作者博客:http://www.mobidever.com/forum.php (Sundy-Android开发联盟)
  • 大小: 27.7 KB
分享到:
评论

相关推荐

    Android深入浅出

    - **关键词**: Lesson3_AndroidӦó - **描述**: 这一部分将深入到Android应用程序的开发细节,涵盖各种高级主题和实践技巧。 - **链接**: [http://www.400gb.com/file/88573376]...

    超级Android深入浅出课程思维导图 sundy

    ### 超级Android深入浅出课程思维导图 sundy #### 一、思维导图概览 本思维导图由特级Android工程师sundy老师亲自制作,旨在帮助学习者全面掌握Android架构及其核心技术,从宏观到微观进行全方位剖析。 #### 二、...

    File-CSV-DataSource_v0ygou_file_

    1. "068844c6c13b42aaf8375480561fcfa3.txt" - 这看起来像是一个哈希值命名的文本文件,可能是日志文件、临时数据或者是程序的输出结果。哈希值通常用于确保文件的完整性和唯一性。 2. "fileinfo.txt" - 这个文件名...

    2.手写笔记-21暑-初二-声音的特性.pdf_Q_15A940B77CC0AAF8C9AEA033FD240EE1.pdf

    声音是我们生活中不可或缺的部分,它包含了丰富的信息和能量。在探讨声音的特性时,我们主要关注三个关键要素:音调、响度和音色。 首先,音调是指声音的高低,这是由频率决定的。频率是物体在一秒钟内振动的次数,...

    BCM-PROJECT:Arma3 的战场征服模式 - PvPvE - 包含(北约、CSAT、AAF)的 3 面场景

    BCM - Arma3 的战场征服模式 - PvPvE - 包含(北约、CSAT、AAF)的 3 面场景 描述: Battlefield Conquest Mode又名BCM是一种源自BF征服游戏模式的游戏模式。 我一直想为 Arma 引擎带来相同的风格。 拥有更多车辆、...

    ST3250310AS固件3.AAF

    型号:ST3250310AS 序列号:6RYBVC5Y 家族及版本:NHPLUS2HD_S-1N_3.AAF 备份方法:用STCOMTOOL工具 固件完整可用 请注意选择:前次版本3.AAB,这次版本3.AAF

    AAF.rar_AF_DF_CC_af_af协作_协作_协作通信AF

    在"AAF.rar_AF_DF_CC_af_af协作_协作_协作通信AF"这个压缩包中,可能包含了实现上述过程的MATLAB代码,通过运行这些代码,研究人员可以直观地理解AF协作模式的工作原理,以及在不同条件下的性能表现。通过对比分析,...

    aaf.rar_0.1V步进_电源

    标题中的"aaf.rar_0.1V步进_电源"表明这是一个关于单片机直流电源控制的项目,其中电源能够以0.1V的步进调整输出电压,范围从0V到9.9V。这个设计可能适用于各种需要精确电压控制的实验、测试或设备供电场景。 在...

    aaf_基本七(B7) 质量工具.ppt

    aaf_基本七(B7) 质量工具.ppt

    Android代码-HRichEditor

    HRichEditor android端富文本编辑器 使用方法见DEMO > 完整功能已经实现,期待你的star和fork,有问题可issues 发布效果图 更多效果见链接: ...

    基于MATLAB的无线通信协作通信仿真,采用QPSK-AAF-ESNRC,测试信道为Rayleigh

    基于MATLAB的无线通信协作通信仿真,采用QPSK-AAF-ESNRC,测试信道为Rayleigh。 使用matlab2021a或者更高版本测试,运行时注意matlab左侧的当前文件夹窗口必须是当前工程所在路径。

    ffmpeg-20191123-d65aaf8-win32-dev.zip

    这个压缩包“ffmpeg-20191123-d65aaf8-win32-dev.zip”包含了FFmpeg的一个特定版本(2019年11月23日的d65aaf8分支)的开发环境,特别适用于32位Windows系统。这个版本可能包含了编译器所需的头文件、库文件以及构建...

    Android代码-RxJava Essentials 中文翻译版

    RxJava Essentials 中文翻译...> 本章会利用我们所学的知识来创建第一个reactive Android应用。 4.Filtering Observables > 本章我们会研究Observable序列的本质:filtering.我们也将学到如何从一个发出的Observable中选

    基于MATLAB的无线通信协作通信仿真,采用QPSK-AAF-ESNRC,测试信道为Rayleigh-源码

    基于MATLAB的无线通信协作通信仿真,采用QPSK-AAF-ESNRC,测试信道为Rayleigh_源码

    ffmpeg-20191123-d65aaf8-win32-shared.zip

    这个压缩包“ffmpeg-20191123-d65aaf8-win32-shared.zip”包含了特定版本的 FFmpeg(20191123,d65aaf8 版本)的 Windows 32 位共享库,适用于在 Windows 平台上构建基于 FFmpeg 的应用。 FFmpeg 开发环境的搭建是...

    C8DB9EEB-5AAF-4405-8B49-FCDF5C9BBEAF.docx

    9. **变量作用域和生命周期**:全局变量、局部变量、静态变量和动态变量在程序的不同部分有不同的可见性和生存期。学生需要理解这些变量类型的区别和使用场景。 10. **指针**:指针是C++中强大的特性,它存储内存...

    ffmpeg-20191123-d65aaf8-win32-static.zip

    关于压缩包中的子文件,由于只给出了"ffmpeg-20191123-d65aaf8-win32-static"这个名称,我们可以假设它包含了FFmpeg的主要可执行文件和可能的库文件。这些文件通常包括: - `ffmpeg.exe`:主要的命令行工具,用于...

    IBM Rational 全套 License 支持 v7.1 有效期至 2020-1-6日

    63767AAF4945 HOSTID=ANY ISSUER="THE FORCE TEAM" NOTICE="The \ Force Team - 2007" ck=141 INCREMENT TestRealTime rational 1.0 06-jan-2020 uncounted \ 0EF423DAF634 HOSTID=ANY ISSUER="THE FORCE TEAM" ...

    centos72_jb51_centos7的安装包_minimal_

    c875b0f1dabda14f00a3e261d241f63e CentOS-7-x86_64-DVD-1511.isodba29c59117400b111633be2bf2aaf0e CentOS-7-x86_64-Everything-1511.iso7e46208ba6c5fe817a3ce981aa122f54 CentOS-7-x86_64-LiveGNOME-1511.isod9f...

Global site tag (gtag.js) - Google Analytics