Activity知识点

1、activity生命周期

 什么是Activity?android是用户交互的入口他提供的界面让用户进行滑动点击等等交互,
 这就是Activity。
 Activity的4中状态:
 running:用户可以点击屏幕等等操作,然后屏幕会做出响应,他是一个Activity处于栈顶的状态。

paused:表明Activity失去焦点,或者被一个非全屏的ACtivity占据,或者是一个透明的Activity占据栈顶的情况,
也就是说 Activity失去了跟用户交互的能力但bing并没有被销毁(当然处于内存紧张的时候这个Activity是有可能被销毁的)

stopped: 当这个Activity被另一个Activity完全覆盖的时候所处于的状态,这个时候他是完全不可见的,
跟paused一样该Activity的成员变量、内存状态的信息都有可能还在(内存不紧张的情况下)

kill:表明Activity已经被系统回收掉了,这时所保存的内存信息和成员变量都不存在了的。
 Activity的生命周期:
 先看看这种非常熟悉的图↓↓↓

 Activity启动的时候他会这样走 Activity启动->onCreate()->onStart()->onResume()
 onCreate:是在Activity被创建第一时间调用的方法,创建的时候就必须重写这个方法,他可以
  布置一些布局的资源, 数据加载,图片的预加载
onStart:表明Activity正在启动Activity已经处于用户可见的状态,也并没有处于前台状态也就是
  说还不能跟这个Activity 进行交互,可以理解为看见了但是摸不着的这么一种状态
onResume:表明Activity此时已经在前台了,就能跟用户进行一系列的交互动作

当点击Home键回到主界面的时候Activity会这样走 onPause()->onStop()
onPause:整个Activity处于不可见停止状态,停止状态就是说,看得见摸不着
onStop:表明整个Activity不可见,处在后台运行(当这个方法调用完后,如果是内存紧张的话
  Activity有可能被回收)

当我们再次回到原ACtivity的时候Activity会这样走 onRestart()->onStart()->onResume()
onRestart:表示Activity正在重新启动,这个Activity是处于由比可见状态变为可见状态就会调用这个方法

退出当前Activity时 onPause()->onStop()->onDestory()
onDestory:表明Activity正在被销毁,这里我们可以做回收工作以及一些资源的释放

android进程优先级(前台/可见/服务/后台/空)
优先级有上往下递减(前台优先级最高->空进程优先级最低)
前台进程:处于前台和用户之间交互的Activity或者在前台绑定的Service
可见进程:处于可见但是不在前台,就是用户不能交互
服务进程:在后台开启的一个service服务
后台进程:当我们的按下Home键前台进程变成后台进程,这时后台进程不会被Kill(根据内存进程)
空进程:不属于以上的进程都属于空进程,为了缓存的目的保留,android也可以随时Kill他

2、android任务栈

 Android任务栈就是栈,后进先出!用栈来存储Activity,在创建或退出Activity都会在任务栈中添加
或者删除activity, 这个Task就是Activity的集合,android通过任务栈有序的管理Activity。
任务栈并不是唯一的,一个app中可能并不止有一个任务栈,一个Activty也可以独享一个任务栈。

3、activity启动模式

 standard(默认):每次启动Activity都会重新创建一个Activity的实例然后加入到任务栈中,不会
    考虑任务栈中是否 应存在有Activity的实例,不会fuyong复用Activity。

singletop:栈顶复用模式,当Activity处于栈顶的时候,如果重新创建Activity就会复用该Activity,
  否则还是会从新 创建实例。

singletask:栈内复用模式(单例模式),检查任务栈中是否存在该Activity,如果有的话就会
  将该Activity置于 栈顶同时把该Activity以上的Activity都从任务栈中移除销毁,这时回回
  调一个onNewIntent()方法。

singleInstance:拥有该属性的Activity有且只有一个实例,而且该Activity独享该任务栈。

4、scheme跳转协议

 scheme是一个页面内的跳转协议,是一种非常好的实现机制,通过定义自己的scheme协议,可以非常方便的跳转APP
中的各个页面;通过scheme协议,服务器可以定制化告诉APP跳转哪个页面,可以通过通知栏消息定制化跳转页面,
可以通过H5页面跳转页面等。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值