Activity使用

一, 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

http://www.baidu.com:80/search/info

你可能感兴趣的:(Activity使用)