写在前面的话:本系列主要是学习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在Android中的地位 在Android开发中,Activity作为四大组件之首,其重要性不言而喻。四大组件包括:Activity(负责界面控制)、Service(用于维持一个进程...
本文将详细探讨Android Activity的生命周期,以及如何通过源码分析和使用工具进行深入研究。 Activity的生命周期由一系列回调方法构成,这些方法在特定时刻被系统调用,指示Activity的状态变化。主要的生命周期回调...
在Android应用开发中,"生命周期"是至关重要的概念,它涉及到Activity、Service、BroadcastReceiver以及Fragment等组件的行为和状态变化。这些组件的生命周期由系统控制,开发者需要理解并正确处理各个生命周期方法...
本文将深入探讨Android中的生命周期(LifeCycle)机制,以及如何利用相关工具进行调试和优化。 Android Activity的生命周期是其从创建到销毁的一系列状态变化。主要包含以下几个关键状态: 1. **初始化态...
产品生命周期管理(Product Lifecycle Management,简称PLM)是现代企业管理和运营的关键组成部分,尤其在IT和CS(信息技术与计算机科学)领域。PLM涵盖了从产品构思、设计、开发、生产、销售、维护直至废弃的全过程...
其次,Android应用程序的开发主要使用Java或Kotlin语言,PPT可能会涵盖这两种语言的基本语法和Android特有的编程模式,如意图(Intent)用于组件间通信,生命周期(Lifecycle)管理对于保持应用稳定至关重要,以及数据...
### 超级Android深入浅出课程思维导图 sundy #### 一、思维导图概览 本思维导图由特级Android工程师sundy老师亲自制作,旨在帮助学习者全面掌握Android架构及其核心技术,从宏观到微观进行全方位剖析。 #### 二、...
了解并掌握Tomcat的生命周期和事件管理,对于开发者来说至关重要,它能帮助我们更好地控制应用的行为,优化性能,以及在出现问题时快速定位和解决问题。在实际开发中,我们可能需要编写自定义的`LifecycleListener`...
在Android应用开发中,网络请求是必不可少的一部分,而有效地管理和处理网络请求的生命周期可以避免内存泄漏、提高用户体验。本文将详细介绍如何使用RxJava2、Retrofit2和RxLifecycle2这三款强大的工具来构建一个...
本篇文章将深入探讨Delphi iOS应用程序的生命周期,以及如何处理后台模式。 首先,让我们了解iOS中应用程序的基本生命周期阶段。这些阶段包括: 1. **初始化**:当应用程序第一次启动时,`AppDelegate`类的`...
VMware产品线生命周期手册是关于VMware公司各类产品支持和服务期限的重要指南,它详细列出了各个产品的发布日期、一般可用性、结束一般支持日期以及结束技术指导日期。这个手册对于VMware用户和管理员来说至关重要,...
本章将深入探讨Spring应用上下文的生命周期,从启动准备阶段到关闭阶段,包括各个关键步骤和相关组件的作用。 1. **Spring 应用上下文启动准备阶段** 在这个阶段,AbstractApplicationContext的`prepareRefresh()`...
Android官方activity-lifecycle生命周期例子,参考网页: http://developer.android.com/training/basics/activity-lifecycle/index.html 方便了解Activity生命周期,提供了非常形象的说明。生动讲解。可以结合官网...
人才生命周期管理(Talent Lifecycle Management)涵盖了从人才吸引、招聘、入职、发展、绩效管理到离职或晋升的全过程。在这个过程中,每个阶段都需要精心设计和执行,以确保企业的竞争力和员工满意度。 首先,...
PEMS开发生命周期-GB9706.1-2020文档
android-lifecycle, Android Activity/fragment 生命周期的图表 完整的Android fragment & Activity 生命周期尝试了解各种各样的片段之后,我做了一些研究并将完整的Android Activity/fragment 生命周期结合起来。...
本文将深入探讨Java多线程中的线程生命周期,以及如何控制线程的状态转换。 线程的生命周期通常包括五个基本状态:新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和终止(Terminated)。下面...
Maven非常强大的重要原因是它有十分完善的生命周期模型 lifecycle 这个生命周期可以从两方面来理解 第一 顾名思义 运行Maven的每个步骤都由它来定义的 这种预定义的默认行为使得我们使用Maven变得简单 相比而言 Ant...