Activity总结

activity声明周期

oncreate->onStart->(onReStart)->onResume->onPause->onStop->onDestory()```
>   onstart 开始activity已经在前台,但是还是不可见,onResume表示已经开始可见状态(对应着可见进程)
onPause() 对应着后台进程

  #activity 加载模式  
  - standard  默认的加载模式:
> 每当startActivity  直接往栈顶添加新的activity  声明周期显示之前的AonPause然后是新的`activity` onCreate->onStart->onResume->旧的`activity`onStop

  - singleTop 
> 栈顶单一加载模式   当activity A设置成该模式后,  A位于栈顶后,如果在启动新的A,A的生命周期onPause->onNewIntent->onResume
如果A不在栈顶,那么就和standard模式一样
            
- singleTask  
> 如果位于栈顶 则onPause->onIntent->onResume 如果位于栈底,则吧上面所有的activity都pop出战,自己则是调用onNewIntent -onRestart->onStart->onResume(自己被唤起)


- singleInstance  会打开一个新的task并把该activity放进去


 # activity异常关闭恢复 
`activity`会把当前页面中所有拥有`id`的`view`的状态保存起来,但是activity中开发者声明的变量并不会保存,用户可以在`onSaveInstance`方法中保存必要的参数,`activity`重建后会在`onCreate(Bundle savedInstanceState)`的`savedInstanceState`中存放,但是这个并不推荐,因为第一次启动activity的savedInstanceState是null,官方推荐在`onRestoreInstanceState(Bundle savedInstanceState) `方法中恢复数据

#activity隐式启动(应用内,网页端)

- 应用内隐式启动Activity:A
对于A的要求 在manifest文件中 A要声明`category`和`action` 这个是必须的,然后在intnent启动时需标明action,**默认的category可以不标明**,`intent`会自动添加,对于action匹配规则,action 可以声明多个,但是必须要有一个可以匹配成功,category则一但在manifest文件中声明,则必须一一对应(这么记,维生素c,所以category要一一对应)
对于intent隐式启动,安全起见,需要先验证一下这个intent是否能找到`intent.resolveActivity(getPackageManager());`只有不为`null`那么可以安全启动

网页内启动(Scheme规则)
在manifest文件中声明

<data
android:host=""
android:mimeType=""
android:path=""
android:scheme=""
android:pathPattern=""
android:pathPrefix=""
android:port=""
android:ssp=""
android:sspPattern=""
android:sspPrefix=""/>

 > 一般只需要设置scheme和host即可  scheme  就是http这种,host就是www.google.com


##总结
个人感觉activity基础知识就这么多,如果有不足 欢迎指出
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转载注明出处://www.greatytc.com/p/c2c2ee4eb48a 1. 简介 本篇不针对于...
    王三的猫阿德阅读 7,009评论 2 5
  • Activity 一、四种形态 运行状态: 当 Activity 处于栈的顶层,可见,并可与用户进行交互 onRe...
    任教主来也阅读 5,758评论 1 10
  • Activity概述 Activity 是一个应用组件。用户可与提供的屏幕进行交互。 每个 Activity 都会...
    媚竹风阅读 3,446评论 0 0
  • 一般格式规则 字母大小写 仅使用小写。 所有代码均使用小写,该规则适用于 CSS 选择符、属性和属性值(字符串除外...
    馒头Show阅读 4,138评论 0 1
  • 相亲相爱的白色鸟儿 水中沐浴 没有坏心眼的人来探访 无名的湖泊 朝着对岸前进 投掷石块的你 就像层层漾开的波纹 也...
    Lilimagic阅读 2,939评论 0 0