美文网首页
Android-Service/BroadcastReceive

Android-Service/BroadcastReceive

作者: A代码搬运工 | 来源:发表于2019-07-08 21:01 被阅读0次

Service

启动方式:

  • startService

    只是启动Service,启动它的组件和Service并没有直接关系,只有当service自身调stopSelf或者其他组件调用stopService服务才会中止。

  • bindService

    其他组件可以通过回调获取Service的代理对象和Service交互,且这两方也进行了绑定,当启动方被销毁了,Service也会自动进入unBind操作.当发现所有绑定都进行了unBind时才会销毁service。

注意点:

  • Service的onCreate是在主线程(ActivityThread)调用的,耗时操作会阻塞UI。
  • 避免在 Service#onStartCommand()/onBind()方法中执行耗时操作。
  • Service 需要以多线程来并发处理多个启动请求,建议使用 IntentService, 可避免各种复杂的设置。

BroadcastReceiver

启动方式:

​ 静态/动态两种方式

注意点:

  • 避免在 BroadcastReceiver#onReceive()中执行耗时操作,如果有耗时工作, 应该创建 IntentService 完成,而不应该在 BroadcastReceiver 内创建子线程去做。
  • 避免使用隐式 Intent 广播敏感信息,信息可能被其他注册了对应 BroadcastReceiver 的 App 接收。可以使用LocalBroadcastManager。
   LocalBroadcastManager.getInstance(this).sendBroadcast(intent);

相关文章

  • Android-Service/BroadcastReceive

    Service 启动方式: startService只是启动Service,启动它的组件和Service并没有直接...

  • Android四大组件(Activity)

    四大组件分别是:Activity、Service、ContentProvider、BroadcastReceive...

  • Android之BroadcastReceive

    简单介绍:Android四大组件之一,本质上是一个全局的监听器,用来监听全局的广播信息,可以方便的实现系统的不同组...

  • Android系统的五种进程类别

    前台进程: 1.activity处于用户可见并且可交互(onresume)状态2.broadcastreceive...

  • 初识activity

    官方解释 应用程序组件,提供用户与程序交互的界面Activity,Service,BroadcastReceive...

  • Android-Service

    Service是一个可以在后台执行长时间运行操作而不提供用户界面的应用组件,由其他应用组件启动,即时切换到其他应用...

  • Android-Service

    文章中大部分内容《第一行代码》- 第三版中都有写到,这篇是对文中 Service 以及自己理解的总结。 Servi...

  • Android-Service

    服务概括 服务是一种可在后台长期运行不需要界面的应用组件,它可以由其他组件启动,且不依赖于其他组件,此外服务可以通...

  • Android广播的注册方式

    Android广播机制(两种注册方法)与 中断广播 - java豆子 - 博客园 BroadcastReceive...

  • Framework基础:类的预加载之为什么gms启动这么快

    Android预加载,是指在开机的时候预先加载一堆常用的类,例如Activity,BroadcastReceive...

网友评论

      本文标题:Android-Service/BroadcastReceive

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