`
java-mans
  • 浏览: 11817478 次
文章分类
社区版块
存档分类
最新评论

Android 进程生命周期(Process Lifecycle)

 
阅读更多


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 生命周期(lifecycle)的研究

    在Android应用开发中,Activity是用户界面的基本单元,它的生命周期管理是开发者必须深入理解的关键概念。本文将详细探讨Android Activity的生命周期,以及如何通过源码分析和使用工具进行深入研究。 Activity的...

    Activity的生命周期(LifeCycle)

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

    Android中的生命周期LifeCycle

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

    生命周期LifeCycle

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

    Android-Android轻松实现生命周期绑定

    因此,Android提供了生命周期感知组件,如Lifecycle和LiveData,它们简化了生命周期管理。 LiveData是一种观察者模式的实现,它是Android架构组件的一部分,能够感知其生命周期的所有者(如Activity或Fragment)。...

    Android开发:Android Jetpack:2.Lifecycle生命周期管理.pdf

    Android开发:Android Jetpack:2.Lifecycle生命周期管理.pdf

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

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

    android-activity-lifecycle-demo:一个Android应用程序,展示何时进行各种活动生命周期回调

    Android生命周期演示展示android活动生命周期的android应用演示。 有两个活动, MainActivity.java和secondActivity.java 。 使用logcat和log类,当两个活动中的每个回调都被调用时,此应用向用户显示。 这两个活动...

    Android-rxjava2retrofit2rxlifecycle2有生命周期感知的网络请求框架封装

    在Android应用开发中,网络请求是必不可少的一部分,而有效地管理和处理网络请求的生命周期可以避免内存泄漏、提高用户体验。本文将详细介绍如何使用RxJava2、Retrofit2和RxLifecycle2这三款强大的工具来构建一个...

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

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

    android活动生命周期

    在Android应用开发中,活动(Activity)是用户交互的主要接口,它承载了用户界面和...在实际开发中,可以利用Android Studio提供的Activity生命周期调试工具,如Lifecycle Monitor,来直观地观察和分析活动的状态变化。

    Android-Android生命周期监听工具库

    Lifecycle库是由Android Architecture Components(AAC)的一部分,它允许开发者声明式地观察Activity或Fragment的生命周期状态。通过使用LiveData和ViewModel等AAC组件,Lifecycle库使得UI与数据层之间的交互更加...

    flutter plugin-android-lifecycle

    同时,可以在FlutterLifecycleAdapter中注册一个AndroidLifecycle.Listener对象,以便在Android生命周期事件发生时响应。 需要注意的是,flutter_plugin_android_lifecycle插件需要与AndroidX库一起使用,并且需要...

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

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

    AndroidLifeCycle,处理android生命周期的简单方法.zip

    在Android应用开发中,理解并妥善处理Android组件(如Activity、Service、BroadcastReceiver等)的生命周期至关重要。AndroidLifeCycle项目正是这样一个开源项目,它提供了一种简单有效的方法来管理Android应用中的...

    disposer,使用android的生命周期轻松处理rxjava流.zip

    Disposer的使用通常与Android Lifecycle库结合,该库为Android组件提供了统一的生命周期管理API。通过将Disposer与LifecycleOwner(如Activity或Fragment)关联,我们可以确保在生命周期改变时自动处理订阅。例如,...

    Android Activity 生命周期演示工具

    演示了3个Activity在相互转换中的生命周期及事件。 其中Tag time是为了手动分割Log的现实,方便查看阶段性的信息。 安装到手机上需要打开USB调试模式。

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

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

    androidx-lifecycle-common-2.1.0.jar

    androidx-lifecycle-common-2.1.0.jar

    Android-使用生命周期事件在Android上自动处理RxJava2流

    本文将深入探讨如何利用生命周期事件来自动处理Android上的RxJava2流。 首先,了解RxJava2的基本概念至关重要。RxJava是一个用于处理异步数据流的库,它提供了Observable(可观察者)和Observer(观察者)的概念,...

Global site tag (gtag.js) - Google Analytics