详解Android中的四大组件之一:Activity详解


activity的生命周期

activity的四种状态

running:正在运行,处于活动状态,用户可以点击屏幕,是将activity处于栈顶的状态。
paused:暂停,处于失去焦点的时候,处于paused,可能是被如弹框一样遮盖,被通明的activity的放置到栈顶,paused一起状态都存在。
stopped:处于stopped状态,是当前的activity被遮盖,是完全遮挡的那种,覆盖屏幕,一起的状态信息还是存在的。
killed:activity被销毁,回收,一切的状态信息不存在了。
activity的生命周期

activity启动 ->被创建时调用
onCreate()->被启动,处于用户可见状态,但不能与用户交互onStart()->可与用户交互了onResume()
点击Home 整个
activity处于停止状态,可见,不能与用户交互onPause()->整个activity被停止,被完全覆盖,onStop()
回到activity 处于由不可见状态到可见的状态
onRestart()->onStart()-onResume()
退出activity
onPause()->onStop()->当前activity被销毁,回收,资源释放onDestroy()
Android进程优先级

- 前台进程 -Activte process
- 可见进程-Visible Process
- 服务进程 - Service process
- 后台进程 Background process
- 空进程-Empty process
前台
前台process是与用户交互的控件的应用程序,处于“活动”状态的Activity。
可见
可见进程为activity可见,不属于前台,但不能与用户交互的进程。
服务
已经启动的Service。
后台
后台的进程中Activity是不可见的,后台进程中没有启动任何的Service,即为后台进程。
空
空进程,在资源需要的时候常常被杀掉。
Android的任务栈
App启动时,系统会创建一个任务栈,栈也被叫做Task。退出activity的时候,要清除任务栈,任务栈会保留每个activity的信息,所以要安全的保存任务栈。
任务栈不是唯一的,也可有一个
activity可以独享一个任务栈。
正常模式下的栈是后进先出,在AndroidManifest.xml中启动,通过android:launchMode进行设置的,有四种模式standard、singleTop、singleTask、singleInstance。

standard:默认,每次启动重新创建。每创建一个
activity,都会创建一个onCreate()->onStart()->onResume()。每一次都重新创建会消耗资源。singleTop:栈顶复用模式,栈顶存在则不创建,如果不在栈顶就又要重新创建,检验的是栈顶是否存在,即使在第二个,不是栈顶,
activity也要被重新创建。singleTask:检测整个任务栈,是否存在
activity,如果存在就存放在栈顶,1)启动singleTask的Activity,会将该Activity置于栈顶,它上面的所有activity都会被销毁。2)其他App以singleTask模式启动该Activity时,会创建一个新的任务栈,如果启动模式为singleTask的Activity已经在一个任务栈中,那么启动后,后台的这个任务栈将一起切换至前台。singleinstance:该
activity在整个系统当中有且只有一个实例,在任务栈只有一个activity,即是singleinstance。
scheme跳转协议
scheme跳转协议为一种页面内跳转协议,跳转页面,根据H5页面跳转,跳转app等。
结语
- 本文主要讲解 详解Android中的四大组件之一:Activity详解
下面我将继续对
Java、Android中的其他知识 深入讲解 ,有兴趣可以继续关注小礼物走一走 or 点赞
详解Android中的四大组件之一:Activity详解的更多相关文章
- 【Android】安卓四大组件之Activity(二)
[Android]安卓四大组件之Activity(二) 前言 在这篇文章之前,我已经写过了一篇有关Activity的内容,是关于activity之间的页面跳转和数据传递,而这篇文章着重强调的是Acti ...
- 【Android】安卓四大组件之Activity(一)
[Android]安卓四大组件之Activity(一) 前言 Activity是Android学习中的一个重要组件,想要对其进行系统的了解可以分为几块内容,这一大章节的内容是有关于activity之间 ...
- 关于Android中的四大组件(Service的开启与关闭)
前言 服务(Service)是Android系统中的四大组件之中的一个.服务主要用于两个目的:后台执行和跨进程訪问. 通过启动 一个服务.能够在不显示界面的前提下在后台执行指定的任务,这样能够不影响用 ...
- Android四大组件之Activity详解
一.Activity的概要说明 我看过Activity的源码,Activity类注释大概是这样解释的:几乎所有的Activity都是与用户交互用的,我想用了一个几乎的意思应该是排除一些纯展示界面吧,因 ...
- Android四大组件之Activity详解——传值和获取结果
废话不多说,先来看效果图 项目源码: http://download.csdn.net/detail/ginodung/8331535 程序说明: 在MainActivity中输入用户名和密码,然后提 ...
- Android四大组件之Activity详解——创建和启动Activity
前面我们已经对Activity有过简单的介绍: Android开发——初始Activity Android开发——响应用户事件 Android开发——Activity生命周期 先来看一下最终结果 项目 ...
- Android中Broadcast Receiver组件具体解释
BroadcastReceiver(广播接收器)是Android中的四大组件之中的一个. 以下是Android Doc中关于BroadcastReceiver的概述: ①广播接收器是一个专注于接收广播 ...
- 【Android中Broadcast Receiver组件具体解释
】
BroadcastReceiver(广播接收器)是Android中的四大组件之中的一个. 以下是Android Doc中关于BroadcastReceiver的概述: ①广播接收器是一个专注于接收广播 ...
- Android四大组件之——Activity的生命周期(图文详解)
转载请在文章开头处注明本博客网址:http://www.cnblogs.com/JohnTsai 联系方式:JohnTsai.Work@gmail.com [Andro ...
随机推荐
- PAT甲级
https://www.cnblogs.com/jlyg/p/7525244.html 哇咔咔,瞧人家都刷完甲级130道题了,哼,有什么了不起的,考前刷完,再刷的比你多,哼,照样吊打. 沙耶加油! 一 ...
- html----input标签
HTML 5 <input> 标签 定义和用法 <input> 标签规定用户可输入数据的输入字段. 根据不同的 type 属性,输入字段有多种形态.输入字段可以是文本字段.复选 ...
- $nextTick 的作用
文档:深入响应式原理 Vue 实现响应式并不是数据发生变化之后 DOM 立即变化,而是按一定的策略进行 DOM 的更新. $nextTick 是在下次 DOM 更新循环结束之后执行延迟回调,在修改数据 ...
- Fedora 25 安装 Bugzilla
最近领导要我们装一个Bugzulla,虽然我们项目已经有了JIRA(我就呵呵),不过我还是找些资料安装了,在此备忘. Bugzilla 是一个开源的缺陷跟踪系统(Bug-Tracking System ...
- python生成器(generator)、迭代器(iterator)、可迭代对象(iterable)区别
三者联系 迭代器(iterator)是一个更抽象的概念,任何对象,如果它的类有next方法(next python3)和__iter__方法返回自己本身,即为迭代器 通常生成器是通过调用一个或多个yi ...
- Mysql的时间类型问题
时间类型有time, date, datetime, timestamp 如Mysql官方文档所述: time 没有date,date没有time,datetime是date和time的集合, 而ti ...
- 36. Valid Sudoku 判断九九有效的数独
[抄题]: Determine if a 9x9 Sudoku board is valid. Only the filled cells need to be validated according ...
- [leetcode]80. Remove Duplicates from Sorted Array II有序数组去重(单个元素可出现两次)
Given a sorted array nums, remove the duplicates in-place such that duplicates appeared at most twic ...
- [leetcode]27. Remove Element删除元素
Given an array nums and a value val, remove all instances of that value in-place and return the new ...
- vue.$nextTick 解决了哪些问题
转载:https://www.cnblogs.com/xuewuhen/p/7860989.html $nextTick 是在下次 DOM 更新循环结束之后执行延迟回调,在修改数据之后使用 $next ...