`
ylzyd12345
  • 浏览: 120329 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
博客专栏
713488f4-d0a9-3f35-997f-199fb0cb3563
玩懂Log,打开Andro...
浏览量:10357
社区版块
存档分类
最新评论

进程生命周期(Process Lifecycle)(sundy深入浅出)之进程和线程

 
阅读更多

 

 

写在前面的话:本系列主要是学习sundy的Android深入浅出视频中的一些记录,心得。方便自己以后查阅。也供大家查看。欢迎交流,补充。

一般作为面试题(有些有答案,有些没有。问题一般从sundy老师思维导图中摘录,答案并非唯一标准,仅供参考):

 

1、android的进程是如何启动的?

简单的说就是有一个远程服务package service,再通过packageManager加载找到的应用程序manifest文件中的launcher activity,实例化该activity为入口的activity。


2、android的5个进程等级他们的区别,优先等级?

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的进程,保留这个进程主要是为了缓存的需要


3、如果又有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 进程 。 


结论 : 优先级高的为准 。

 

分享到:
评论

相关推荐

    Activity的生命周期(LifeCycle)

    ### Activity的生命周期(LifeCycle) #### 一、Activity在Android中的地位 在Android开发中,Activity作为四大组件之首,其重要性不言而喻。四大组件包括:Activity(负责界面控制)、Service(用于维持一个进程...

    Android Activity 生命周期(lifecycle)的研究

    本文将详细探讨Android Activity的生命周期,以及如何通过源码分析和使用工具进行深入研究。 Activity的生命周期由一系列回调方法构成,这些方法在特定时刻被系统调用,指示Activity的状态变化。主要的生命周期回调...

    生命周期LifeCycle

    在Android应用开发中,"生命周期"是至关重要的概念,它涉及到Activity、Service、BroadcastReceiver以及Fragment等组件的行为和状态变化。这些组件的生命周期由系统控制,开发者需要理解并正确处理各个生命周期方法...

    Android中的生命周期LifeCycle

    本文将深入探讨Android中的生命周期(LifeCycle)机制,以及如何利用相关工具进行调试和优化。 Android Activity的生命周期是其从创建到销毁的一系列状态变化。主要包含以下几个关键状态: 1. **初始化态...

    产品的生命周期 Product Lifecycle management.docx

    产品生命周期管理(Product Lifecycle Management,简称PLM)是现代企业管理和运营的关键组成部分,尤其在IT和CS(信息技术与计算机科学)领域。PLM涵盖了从产品构思、设计、开发、生产、销售、维护直至废弃的全过程...

    《深入浅出Google Android》PPT

    其次,Android应用程序的开发主要使用Java或Kotlin语言,PPT可能会涵盖这两种语言的基本语法和Android特有的编程模式,如意图(Intent)用于组件间通信,生命周期(Lifecycle)管理对于保持应用稳定至关重要,以及数据...

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

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

    tomcat 生命周期,和事件管理—— lifeCycle & event

    了解并掌握Tomcat的生命周期和事件管理,对于开发者来说至关重要,它能帮助我们更好地控制应用的行为,优化性能,以及在出现问题时快速定位和解决问题。在实际开发中,我们可能需要编写自定义的`LifecycleListener`...

    delphi IOS lifecycle 生命周期 后台

    本篇文章将深入探讨Delphi iOS应用程序的生命周期,以及如何处理后台模式。 首先,让我们了解iOS中应用程序的基本生命周期阶段。这些阶段包括: 1. **初始化**:当应用程序第一次启动时,`AppDelegate`类的`...

    第二十章 Spring 应用上下文生命周期(ApplicationContext Lifecycle)1

    本章将深入探讨Spring应用上下文的生命周期,从启动准备阶段到关闭阶段,包括各个关键步骤和相关组件的作用。 1. **Spring 应用上下文启动准备阶段** 在这个阶段,AbstractApplicationContext的`prepareRefresh()`...

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

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

    人才生命周期管理 Talent Lifecycle Management_.pdf

    人才生命周期管理(Talent Lifecycle Management)涵盖了从人才吸引、招聘、入职、发展、绩效管理到离职或晋升的全过程。在这个过程中,每个阶段都需要精心设计和执行,以确保企业的竞争力和员工满意度。 首先,...

    android-lifecycle, Android Activity/fragment 生命周期的图表.zip

    android-lifecycle, Android Activity/fragment 生命周期的图表 完整的Android fragment & Activity 生命周期尝试了解各种各样的片段之后,我做了一些研究并将完整的Android Activity/fragment 生命周期结合起来。...

    PEMS开发生命周期-GB9706

    PEMS开发生命周期-GB9706.1-2020文档

    Java多线程初学者指南:线程的生命周期.pdf

    本文将深入探讨Java多线程中的线程生命周期,以及如何控制线程的状态转换。 线程的生命周期通常包括五个基本状态:新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和终止(Terminated)。下面...

    大话Maven生命周期

    Maven非常强大的重要原因是它有十分完善的生命周期模型 lifecycle 这个生命周期可以从两方面来理解 第一 顾名思义 运行Maven的每个步骤都由它来定义的 这种预定义的默认行为使得我们使用Maven变得简单 相比而言 Ant...

    activity-lifecycle

    在Android应用开发中,Activity是用户界面的主要载体,它的生命周期管理是开发者必须深入理解的关键概念。"activity-lifecycle"这个主题涵盖了Activity从创建到销毁的整个过程,包括各种状态转换和回调方法。以下是...

    深入浅出maven3

    项目生命周期(Project Lifecycle) - **定义**:Maven项目生命周期是一系列必须按顺序执行的阶段。每个阶段都对应着一个具体的构建任务。 - **主要阶段**: - `validate`:验证项目是否正确,所有必要的信息是否...

Global site tag (gtag.js) - Google Analytics