首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

ActivityManager_activity管理

ActivityManager的作用 参照SDK的说明,可见ActivityManager的功能是与系统中所有运行着的Activity交互提供了接口,主要的接口围绕着运行中的进程信息,任务信息,服务信息等...Activity启动 在经过前文的学习以后,我们一起来整理一下Activity的启动机制。就从Activity的startActivity()函数开始吧。...这个类的功能是辅助Activity的监控和测试,在此我们不详细描述,我们来看它的execStartActivity()函数。...public ActivityResult execStartActivity( Context who, IBinder contextThread, IBinder token, Activity...通过这样的源码追踪,我们了解到了Activity启动的底层实现机制,也加深了对Proxy模式和Binder机制的理解。从而为学习其他框架打下了基础。

29120

activity的启动模式和栈管理

文章结构: 1.什么是栈 2.Activity栈 3.Task 4.Activity启动模式 5.Activity栈和Task联系 6.Intent Flags  7.Activity相关属性taskAffinity...Android的管理主要是通过Activity栈来进行,当一个Activity启动时,系统会根据其配置将它压入到一个特定的栈中,系统处于运行状态。...当用户点击返回或则FINISH()了该Activity,那么它便会被从栈中压出,随之摧毁,按照Activity的生命周期可以知道,如果当前显示的栈中Activity没有被摧毁,那么打开新的Activity...5.Activity栈和Task联系 Task简单的就是一组以栈的模式聚集在一起的Activity组件集合,类似于一个填充了Activity的容器,最先加入的Activity会处于容器最下面,最后加入的处于容器最上面...FLAG_ACTIVITY_CLEAR_TOP 这个FLAG就相当于启动模式中的SingleTask,这种FLAG启动的Activity会把要启动的Activity之上的Activity全部弹出栈空间。

1.3K90

Android解析ActivityManagerService(二)ActivityTask和Activity管理

这一篇我们接着来学习与AMS相关的ActivityTask和Activity管理。...1.ActivityStack ActivityStack从名称来看是跟栈相关的类,其实它是一个管理类,用来管理系统所有Activity的各种状态。...2.Activity管理 我们知道Activity是由任务栈来进行管理的,不过任务栈是一个假想的模型,并不真实的存在。...栈管理就是建立在这个假想模型之上的,有了栈管理,我们可以对应用程序进行操作,应用可以复用自身应用中以及其他应用的Activity,节省了资源。...除了这三个FLAG,还有一些FLAG对我们分析栈管理有些帮助。 FLAG_ACTIVITY_NO_HISTORY:Activity一旦退出,就不会存在于栈中。

1.6K90

Activity 生命周期及其栈管理方式

Activity 生命周期及其栈管理方式 Android 系统用栈的形式管理 Activity , 当新的 Activity 被创建是, 会被放置到栈顶, 这个 Activity 会进入到运行状态, 而前一个...Activity 则会被压入栈, 直到新的 Activity 退出, 否则不会出现在前台。...单个 Activity 的生命周期状态以及生命周期方法 根据 Android 文档, 每一个 Activity 都有四个状态, 它们分别是: 当 Activity 位于屏幕的最前面(栈顶),称之为 运行...; 当 Activity 完全不可见时, 称之为 停止状态 , 这时 Activity 依然保持其状态以及成员信息, 不过由于此时 Activity 对用户不可见, 当系统其它地方需要内存时, 经常会被结束...多个 Activity 的栈管理方式 多个 Activity 之间采用的是栈道管理方式, 当用户启动新的 Activity 时, 新启动的 Activity 位于栈顶,当用户按后退按钮时, 栈顶的 Activity

1.1K20

activity

文章目录 一、activity的生命周期 1、activity的四种状态 2、activity的生命周期 3、activity的进程优先级 二、android的任务栈 三、activity的启动模式 四...、scheme跳转协议 一、activity的生命周期 1、activity的四种状态 running:可以交互 paused:可以看见但不可以交互,成员变量都还在,但是若内存紧张,将会优先被系统回收...stopped:完全被其他的activity覆盖看不见,成员变量都还在,但是若内存紧张,将会优先被系统回收 killed:被系统回收了,所保留的信息和成员变量已经不存在了 2、activity的生命周期...重新启动才调,由不可见状态变为可见状态的时候会调用 onDestory(): 做一些资源释放 3、activity的进程优先级 前台:可交互的activity 或者 在前台activity绑定的service...):创建的activity是在栈内的话,就会复用并将栈内其上的activity移除,并回调一个newIntent(); 4、singleInstence:在整个系统在只有这一个activity,并且独享任务栈

63530

Activity

Activity 什么是Activity 创建Activity 启动Activity 保存Activity状态 Activity的生命周期 ---- acitivyt 是什么 引用官方的说法: 是一个应用组件...窗口通常会充满屏幕,但也可小于屏幕并浮动在其他窗口之上 创建Activity 要创建Activity 必须继承自Activity或者Activity的子类。...Activity调用的第一个方法 , 创建完成后必须在Manifest文件中 声明此Activity 系统才会知道有这个Activity <application ....的状态 当用户 离开Activity去往另一个Activity时;Activity会被压入返回栈,如果内存不够就会被销毁 ,当Activity被销毁后其中的数据当然就没了,如果需要保留这些数据可调用 方法...当前activity1跳往到activity2 ,activity就会把activity1覆盖,这时就调用了此方法 onRestart(); 重新启动 onDestroy():activity再结束前调用的最后一个方法

91860

Android  Activity生命周期和堆栈管理的详解

Activity的生命周期 Activity是Android中的四大组件之一,也是最基本,最重要的组件,是android系统提供一个可视化的,能与用户交换的组件。...---onDestroy 这是一个完整的生命周期 场景二 A Activity 跳转到 到 B Activity (BActivity是完全覆盖AActivity) AOnCretate-----...Activity(B Activity 是一个 对话框形式的Activity 或者 BActivty是一个透明的) AOnCretate-----AOnStart----AOnResume ------...3 活动的 onResume——onPause Activity的堆栈管理模式 数据结构 队列:先进先出 栈:先进后出 每打开一个Activity,将会入栈,退出一个,将会出栈,采用栈的先进后出结构...,再打开A时,将栈顶其他Activity全部出栈。

99441

Activity中启动和关闭其他Activity

上一期我们学习了Activity的创建和配置,当时留了一个悬念,如何才能在默认启动的Activity中打开其他新建的Activity呢?那么本期一起来学习如何启动和关闭Activity。...一、概述 经过前面内容的学习,知道一个Android应用通常都会包含多个Activity,但只有一个Activity 会作为程序的入口——当该Android应用运行时将会自动启动并执行该Activity...至于应用中的其他Activity,通常都由入口 Activity启动,或由入口 Activity启动的Activity启动。 Activity启动其他Activity有如下两个方法。...仍然使用上期创建的ActivitySample工程,为了便于代码管理,这里新建一个activitystartupshutdown的Module。...其中第一个Activity的界面布局非常简单,只包含一个按钮和文本提示,其中按钮的作用主要是启动第二个Activity

3.9K50

【Android 返回堆栈管理】打印 Android 中当前运行的 Activity 任务栈信息 | Activity 任务栈信息分析 | Activity 在相同 Stack 中的不同 Task

文章目录 一、打印 Android 中当前运行的 Activity 任务栈信息 二、Activity 任务栈信息分析 三、Activity 在相同 Stack 的不同 Task 情况 一、打印 Android...中当前运行的 Activity 任务栈信息 ---- 使用如下命令 , 打印 Android 手机中的 Activity 栈 : adb shell dumpsys activity activities...ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities) Display #0 (activities from top to bottom)..., 其 Activity 都在同一个任务栈中 ; 三、Activity 在相同 Stack 的不同 Task 情况 ---- 默认状态下 , 同一个应用启动的两个 Activity 都在相同 Stack...的相同 Task 中 , 但是如下情况会出现 Activity 在相同 Stack 的不同 Task 中 ; 参考 【Android 应用开发】Activity 任务亲和性 taskAffinity

5.3K10

Android 插件化原理解析——Activity生命周期管理

Activity,Service等组件是有生命周期的,它们统一由系统服务AMS管理;使用ClassLoader可以从插件中创建Activity对象,但是,一个没有生命周期的Activity对象有什么用?...AMS进程进行通信: App进程会委托AMS进程完成Activity生命周期的管理以及任务栈的管理;这个通信过程AMS是Server端,App进程通过持有AMS的client代理ActivityManagerNative...完成通信过程; AMS进程完成生命周期管理以及任务栈管理后,会把控制权交给App进程,让App进程完成Activity类对象的创建,以及生命周期回调;这个通信过程也是通过Binder完成的,App所在server...其实AMS正如名字所说,管理所有的“活动”,整个系统的Activity堆栈,Activity生命周期回调都是由AMS所在的系统进程system_server帮开发者完成的;Android的Framework...解决了『启动没有在AndroidManifest.xml中显式声明的,并且存在于外部文件中的Activity』的问题,插件系统对于Activity管理才算得上是一个完全体。

73210

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券