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的进程,保留这个进程主要是为了缓存的需要
具体的应用:
1.不希望系统关掉sevice中断服务方法 :
如音乐sevice 启动sevice时调用startForeground()前台启动,不会被系统关掉,音乐会继续播放,除非通过人机交互手动确认关掉.
2.空进程是为了做缓存,内存里记录一些值,下次打开快。
3.如果又有Service又有Visible Activity怎么办?
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应用开发中,Activity是用户界面的基本单元,它的生命周期管理是开发者必须深入理解的关键概念。本文将详细探讨Android Activity的生命周期,以及如何通过源码分析和使用工具进行深入研究。 Activity的...
### Activity的生命周期(LifeCycle) #### 一、Activity在Android中的地位 在Android开发中,Activity作为四大组件之首,其重要性不言而喻。四大组件包括:Activity(负责界面控制)、Service(用于维持一个进程...
本文将深入探讨Android中的生命周期(LifeCycle)机制,以及如何利用相关工具进行调试和优化。 Android Activity的生命周期是其从创建到销毁的一系列状态变化。主要包含以下几个关键状态: 1. **初始化态...
在Android应用开发中,"生命周期"是至关重要的概念,它涉及到Activity、Service、BroadcastReceiver以及Fragment等组件的行为和状态变化。这些组件的生命周期由系统控制,开发者需要理解并正确处理各个生命周期方法...
因此,Android提供了生命周期感知组件,如Lifecycle和LiveData,它们简化了生命周期管理。 LiveData是一种观察者模式的实现,它是Android架构组件的一部分,能够感知其生命周期的所有者(如Activity或Fragment)。...
Android开发:Android Jetpack:2.Lifecycle生命周期管理.pdf
Android官方activity-lifecycle生命周期例子,参考网页: http://developer.android.com/training/basics/activity-lifecycle/index.html 方便了解Activity生命周期,提供了非常形象的说明。生动讲解。可以结合官网...
Android生命周期演示展示android活动生命周期的android应用演示。 有两个活动, MainActivity.java和secondActivity.java 。 使用logcat和log类,当两个活动中的每个回调都被调用时,此应用向用户显示。 这两个活动...
在Android应用开发中,网络请求是必不可少的一部分,而有效地管理和处理网络请求的生命周期可以避免内存泄漏、提高用户体验。本文将详细介绍如何使用RxJava2、Retrofit2和RxLifecycle2这三款强大的工具来构建一个...
android-lifecycle, Android Activity/fragment 生命周期的图表 完整的Android fragment & Activity 生命周期尝试了解各种各样的片段之后,我做了一些研究并将完整的Android Activity/fragment 生命周期结合起来。...
在Android应用开发中,活动(Activity)是用户交互的主要接口,它承载了用户界面和...在实际开发中,可以利用Android Studio提供的Activity生命周期调试工具,如Lifecycle Monitor,来直观地观察和分析活动的状态变化。
Lifecycle库是由Android Architecture Components(AAC)的一部分,它允许开发者声明式地观察Activity或Fragment的生命周期状态。通过使用LiveData和ViewModel等AAC组件,Lifecycle库使得UI与数据层之间的交互更加...
同时,可以在FlutterLifecycleAdapter中注册一个AndroidLifecycle.Listener对象,以便在Android生命周期事件发生时响应。 需要注意的是,flutter_plugin_android_lifecycle插件需要与AndroidX库一起使用,并且需要...
产品生命周期管理(Product Lifecycle Management,简称PLM)是现代企业管理和运营的关键组成部分,尤其在IT和CS(信息技术与计算机科学)领域。PLM涵盖了从产品构思、设计、开发、生产、销售、维护直至废弃的全过程...
在Android应用开发中,理解并妥善处理Android组件(如Activity、Service、BroadcastReceiver等)的生命周期至关重要。AndroidLifeCycle项目正是这样一个开源项目,它提供了一种简单有效的方法来管理Android应用中的...
Disposer的使用通常与Android Lifecycle库结合,该库为Android组件提供了统一的生命周期管理API。通过将Disposer与LifecycleOwner(如Activity或Fragment)关联,我们可以确保在生命周期改变时自动处理订阅。例如,...
演示了3个Activity在相互转换中的生命周期及事件。 其中Tag time是为了手动分割Log的现实,方便查看阶段性的信息。 安装到手机上需要打开USB调试模式。
android-androidx-lifecycle-process Eclipse库项目基于: 进口: 文件>导入...>团队>团队项目集> URL: 要求: Android 9 (API 28) SDK Platform 参考:
androidx-lifecycle-common-2.1.0.jar
本文将深入探讨如何利用生命周期事件来自动处理Android上的RxJava2流。 首先,了解RxJava2的基本概念至关重要。RxJava是一个用于处理异步数据流的库,它提供了Observable(可观察者)和Observer(观察者)的概念,...