美文网首页
四大组件的生命周期和简单用法

四大组件的生命周期和简单用法

作者: d85a3f21310a | 来源:发表于2019-05-06 14:16 被阅读0次

    Activity的生命周期:

    启动方法:

    创建一个Intent对象,将该activity以及将要打开的activity传进去,

    然后Intent对象将代入startActivity()即可启动

    startActivity(Intent(this@someActivity,targetClass::class.java))

    Service的生命周期:

    使用方法有两种:

    startService()

    通过简单的startService()进行service启动,此后启动该Service的组件无法把控Service的生命周期,理论上此后该Service可以在后台无期限运行,但根据实际情况该Service可能会在任意一个时刻被杀死

    我们可以在onStartCommand()里面做我们要做的操作,虽然运行anr时间比Activity多了近一倍,但Service跟Activity一样不可以做耗时操作,

    bindService()

    通过绑定的方式启动Service

    绑定后,该Service与启动绑定操作的组件形成绑定,当组件销毁时,该Service也随着销毁。

    BroadcastReceive广播接收器生命周期:

    生命周期只有十秒左右,如果在 onReceive() 内做超过十秒内的事情,就会报ANR(Application No Response) 程序无响应的错误信息

    它的生命周期为从回调onReceive()方法开始到该方法返回结果后结束

    用法

    静态注册(常驻广播)

    在AndroidManifest.xml中进行注册,App启动的时候自动注册到系统中,不受任何组件生命周期影响,(即便应用程序已经关闭),但是 耗电,占内存 

    动态注册(非常驻广播)

    在代码中进行注册,通过IntentFilter意图过滤器筛选需要监听的广播,记得注销(推荐在onResume()注册,在onPause()注销),使用灵活,生命周期随组件变化

    ContentProvider

    提供数据的进程使用contentProvider 内容提供者

    获取数据的进程使用contentresolver 内容解析器

    相关文章

      网友评论

          本文标题:四大组件的生命周期和简单用法

          本文链接:https://www.haomeiwen.com/subject/vvbroqtx.html