一, Activity 的生命周期
1,,onCreat()--------初始化一些操作 setContentView()加载界面
2,onRestart()----------Activity重新启动的时候调用,比如从home键后回来,点击home见后执行的手 onPause()--onStop()--onRestart()
3,onstart()--------Activity已经被启动即将开始,但是还不可见
4,onResume()-------Acitvity可见并活动
---Activity---运行
----新的Activity启动---
5,onPause()--------Activity正在停止,正常情况下onStop()会紧跟着调用,此时可以储存数据停止动画等,但是不能耗时
6,onStop()---------Activity停止,稍微重量级的回收工作.同样不能耗时
7,onDestroy()---------Activiy销毁,资源释放
二,异常情况下Activity的生命周期
1,系统资源发生变化,如横竖屏导致Activity杀死重建
2,资源内存不足导致优先级低的Activity被杀死
解决方案:
1,activity重建保存和取出数据onSaveInstanceState()------>onRestoreInstanceState()
2,Activity不让重建 修改configChanges onConfiguerChanged();
三,Activity的启动
1,standard
2,singleTop
3,singleTask
4,singleInstance
显示调用:
需要明确的指明被启动对象的最贱信息,包括包名和类名
隐式调用:
不需要指明,Intent需要匹配目标组建的IntentFilter中的过滤信息,如果不匹配将无法启动目标activity
为了匹配过滤列表,需要同时匹配过滤列表中的action,category,data信息,否则匹配失败;
注:一个Activity中可以有多个intent-filter 一个intent只要匹配成功一组intent-filter即可成功启动
过滤规则:
1,action,可以有多个action重要和其中一个匹配成功即为成功;
2, category:必须全部被匹配,如果没有走默认;
3,data :两部分组成 mimeType 和 URI mimeType是媒体类型 URI: ://: /[||]
例如: content://com.example.project:200/folder/sufolder/etc