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

“终于懂了“系列:Jetpack AAC完整解析(一)Lifecycle 完全掌握 一、Android Jetpack 介绍 1.1 Jetpack是啥 官方定义如下: Jetpack 是一个由多个库组成的套件,可帮助开发者遵循最佳做法,减少样板代码并编写可在各种 Android 版本和设备中一致运行的代码,让开发者精力集中编写重要的代码。 JetPack更多是一种概念和态度,它是谷歌开发的非Android Framework SDK自带、但同时是Android开发必备的/推荐的SDK/开发规范合集。相当于Google把自己的Android生态重新整理了一番,确立了Android未来的 阅读详情

 大家好,上一讲我们介绍了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文件的使用,敬请期待。

 

如有疑问,请联系我们的QQ:Lily :874511079,May:2676949886
特别推荐新课程:Android开发高端课程

http://www.mobidever.com/forum.php?mod=viewthread&tid=2098
本课视频地址:http://www.tudou.com/programs/view/TXn5rFQU2QA/  (土豆网)
课程下载地址:http://www.verycd.com/topics/2900036/ (VeryCD电驴)
作者博客:http://www.mobidever.com/forum.php (Sundy-Android开发联盟)

【奇技淫巧】使用 ProcessLifecycle 优雅地监听应用前后台切换 前言很高兴见到你,又来到了「奇技淫巧」系列,本系列介绍一些「骚操作」,可能不适合用于生产,但可以开拓思路前些天在群里看到有人讨论通过维护 activity 栈来监听程序前后台切换的问题。... 阅读详情

相关推荐

android-androidx-lifecycle-process:基于Android JetPack'androidx.lifecycle:lifecycle-process'AAR版本的Eclipse库项目

android-androidx-lifecycle-process Eclipse库项目基于: 进口: 文件>导入...>团队>团队项目集> URL: 要求: Android 9 (API 28) SDK Platform 参考:

【Jetpack】学穿:Lifecycle → 生命周期 (使用篇)

0x1、Lifecycle简介 本节继续学穿Jetpack,带来第二个组件 Lifecycle,用于帮助开发者管理Activity、Fragment的生命周期,它可是LiveData、ViewModel等组件的基石。 日常开发中经常会遇到这些问题: 需要在Activity、Fragment的生命周期回调中执行特定操作,否则会引起 程序错误 或 内存泄露,比如:无限循环的属性动画忘记在onDestory中取消,Eventbus忘记在onDestory中unregister等。不要想着自己小心注意就好,在多

m0_56255097的博客 1320

Android官方activity-lifecycle生命周期例子

Android官方activity-lifecycle生命周期例子,参考网页: http://developer.android.com/training/basics/activity-lifecycle/index.html 方便了解Activity生命周期,提供了非常形象的说明。生动讲解。可以结合官网查看。

切换应用_技巧篇 | 使用 ProcessLifecycle 优雅地监听应用前后台切换

很高兴见到你,本系列介绍一些「骚操作」,可能不适合用于生产,但可以开拓思路。前些天在群里看到有人讨论通过维护 activity 栈来监听程序前后台切换的问题。其实单纯监听程序的前后台切换完全不需要维护 activity 栈,而现在比较主流的做法是使用 registerActivityLifecycleCallbacks。而今天我来介绍一下使用 ProcessLifecycleOwner ...

weixin_28727975的博客 637

CMMI AIM 人工智能成熟度框架:31个过程域的157项AI实践集成

CMMI AIM人工智能成熟度框架为企业提供了系统化管理AI项目全生命周期的解决方案,包含31个过程域的157项AI实践。该框架通过四个演进阶段(混沌与风险、结构与凝聚、验证与信任、价值与增长),帮助组织建立可持续的AI能力成长路径,降低项目失败率并提升商业价值。

weixin_42613501的博客 351

基于大模型的重度膝关节骨关节炎全流程预测与治疗方案研究

本研究基于大模型构建了重度膝关节骨关节炎(KOA)预测体系,涵盖术前风险预测、手术方案优化、术中监测和术后康复指导全流程。通过分析临床和影像数据,模型在手术风险预测准确率(85%)、并发症预警(血栓预测准确率88%)等方面显著优于传统方法。研究实现了临床数据与AI技术的深度融合,术前预测指导麻醉选择(如高危患者推荐椎管内麻醉),术中实时监测生命体征,术后个性化康复方案使患者HSS评分平均提升45分。

嵌入式毕设/课设资料清单(速查手册·文档模板·题库,持续更新)→ 见最新文章 1389

应用前后台切换ProcessLifecycle的坑

信号量>0则这个事件是app内部的,这时不调用app的onPause方法,同时减去1,表示这次的免除机会已经被消费掉。我们的原理是监听Activity的生命周期,而当你在app内部新开一个Activity或者销毁Activity时,都会引起Activity调用onPause,onStop这些方法。由此可知,无论是哪种情况,onPause方法都会最先被调用,如果太长时间没有调用onResume,就认为是退到后台,如果很快onResume就被调用了,那就认为这只是app内部的activity在变化。

chuyouyinghe的专栏 777

头歌工程实训答案-机器学习篇之手写体识别篇

第2关:激活函数'''x:负无穷到正无穷的实数'''if x<=0:return 0else:return x#***第3关:反向传播算法import os。

m0_71537260的博客 2518

Jetpack生命周期管理 -Lifecycle实战及源码分析

在Activity中调用getLifecycle()能获取到Lifecycle实例,那getLifecycle()是哪里定义的方法呢?/*** 生命周期拥有者* 生命周期事件可被 自定义的组件 用来 处理生命周期事件的变化,同时不会在Activity/Fragmen中写任何代码*/@NonNull。

weixin_43700867的博客 1146

SAP与泛微OA集成(半导体行业)

本项目通过SAP PO中间件集成SAP与泛微OA在半导体行业的应用,由于行业特殊性,广泛深入应用了RSA加密等特性

集信通 1163

【软考高项】【计算专题】- 3 - 进度类 - 双代号网络图

共需压缩 20 天。在双代号网络图中,工作一般使用箭线表示,任意一条箭线都需要占用时间、消耗资源,工作名称写在箭线的上方,而消耗的时间则写在箭线的下方或者工作后面。反映的是前后工作的交接点,节点中的编号可以任意编写,但应保证后续工作的节点比前面节点的编号大,即上图图中的1⃣️4⃣️ 即表示 B 活动和 D 活动间有依赖关系,D 活动的开始,依赖 B 活动的结束。B活动完成了一半, 各计划的实际支出为A活动6500元, B活动1000元, C活动280元, D。

欢迎来到我的博客,一起探索代码里的世界! 4561

[Android]应用前后台切换ProcessLifecycle的坑

最近开发应用有这么一个需求,需要监听app的生命周期,能够感知到用户划到后台,回到前台这些事件。 Google以及帮我们实现好了,只需在项目中引入依赖 implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.4.0' implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' 然后自定义一个 LifecycleObserver,在这里面实现生命周期事件对应的响应

Hunter_chemistry的博客 4239

海上通信技术发展与研究综述

通过对海浪模型、节点运动特性、天线辐射特性等进行特征深度学习,考虑改变有效链路的持续时间、业务类型和容量的区别,以及卫星和节点的仰角等,改变通信策略,设计动态波束成形算法,优化折中浮标天线增益和波束宽度,适应海上环境,尤其是海浪运动时变的特性。目前的海上通信系统,同时包括海上无线通信系统、卫星通信系统、岸基通信系统、船载基站通信系统、空中基站通信系统等不同方法组成的通信系统来满足不同的需求,如海上无线通信系统通信成本低廉、卫星通信系统具有广域的覆盖范围、岸基通信网络可以实现数据高速传输。

weixin_70923796的博客 1000

LifeCycle之ProcessLifeCycleOwner

所有具有生命周期的组件都能够使用LifeCycle。包括Activity、Service、Fragment、Applicaption。LifeCycle组件存在的主要意义就是帮我们解耦,让自定义组件也能够感受到生命周期的变化。不需要再担心内存泄漏等问题。

追梦的鱼儿 1800

Freeswitch 如何检测链路是否有回铃音

Freeswitch回铃音检测解决方案 问题描述:呼叫手机时,虽然信令正常(183/180),但部分手机无回铃音,导致坐席无法判断是否接通,用户体验差。 解决方案: 先播放本地音频作为回铃音 实时检测用户侧是否有声音输入 检测到声音后自动切换为用户侧音频 技术实现: 使用Freeswitch APP实现功能 创建结构体保存实例数据(包括铃声文件、会话句柄、VAD检测器等) 通过media bug机制实现音频流的替换 利用VAD(语音活动检测)技术监控用户侧声音 当检测到用户说话时自动终止本地铃声播放 该方案

2301_81507069的博客 51

windows版vCenter STS证书替换步骤说明

windows版vCenter STS证书,手动更新步骤

技术是手段,服务才是目的。开源与协作是创新的活水,而核心技术的自主可控是立足之本。身处黄金时代,唯持续学习,方能不惧变化。从使用者到创造者,中国技术的未来,正待你们接过火炬,走得更远、更稳、更好。 1043

Lifecycle与LifecycleProcessor学习

Spring之Lifecycle与LifecycleProcessor

weixin_44877172的博客 1244

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Jetpack 之 LifeCycle 组件使用详解,【好文推荐】

**在应用程序的整个生命周期中只会被调用一次*//**永远不会被调用,系统不会分发调用 ON_DESTROY 事件*/

2401_84148981的博客 976

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Android ProcessLifecycleOwner 观察进程生命周期

Android ProcessLifecycleOwner 依赖 App进程生命周期

打渔还是晒网 —— stone 2982

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

ProcessLifecycleOwner 完全指南:优雅监听应用前后台状态

ProcessLifecycleOwner 是 Android Jetpack 生命周期组件的一部分,它提供了整个应用进程的生命周期状态,而不是单个 Activity 的生命周期。记住关键点:在 Application 中注册,保持观察者轻量,及时处理状态变化。ProcessLifecycleOwner 整个应用 应用前后台状态监听。· 内存安全:正确的使用方式无内存泄漏风险。· 应用级别:监听整个应用的前后台状态。错误用法:在 Activity 中注册。· 自动管理:无需手动处理生命周期。

tangweiguo03051987的博客 794

Jetpack 之 LifeCycle 组件使用详解

**在应用程序的整个生命周期中只会被调用一次*//**永远不会被调用,系统不会分发调用 ON_DESTROY 事件*/

2401_84132204的博客 549

Application Fundamentals--Processes and lifecycles(进程生命周期)

[b]Processes and lifecycles---进程生命周期[/b] The Android system tries to maintain an application process for as long as possible, but eventually it will need to remove old processes when memory runs...

片甲 168

Android进程生命周期(Process LifeCycle)

前台 可见 服务 后台 空进程

kaikai_sk的博客 663

Application生命周期及Process进程

当application在Linux平台开启时,系统会给这个application创建一个进程(progress)来运行同时分配内存资源给该application,当程序结束运行时,该进程结束系统回收内存资源 1.application的进程出现以下情况时会被system意外终止: 1.系统空间不足时,会杀死进程的优先顺序:

蔷薇_wendy的博客 3688

Linux-进程管理原理

  what is process ? 什么是进程   process life cycle 进程的生命周期   process states 进程状态   什么是进程?   进程是已启动的可执行程序的运行实例,进程有以下组成部分:   ? 已分配内存的地址空间;   ? 安全属性,包括所有权凭据和特权;   ? 程序代码的一个或多个执行线程;   ? 进程状态   程序: 二进制文件,静态 /bin/date, /usr/sbin/httpd,/usr/sbin/sshd,   /us

linjingyg的博客 605

Android 官方架构 --- Lifecycle分析

Android 官方架构 — Lifecycle分析 Lifecycle 是android 官方推出的官方架构中的其中之一,他是生命周期感知的,即他能够监听Activity和Fragment的生命周期,并且回调相应的方法,同时他能够实时的获取当前Activity和fragment的状态。 Lifecycle已经发布了release版,所以其中的一些默认支持已经包含到了support-v7:26...

茅屋 2435
上一篇: Android深入浅出系列课程---Lesson2 AAF110426_Log打开android大门
下一篇: Android深入浅出系列课程---Lesson4-AAF110429_介绍Manifest文件的使用
sundy_android
博客等级 码龄15年 5粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值