广播接收器为什么不能开启线程?

蓝大巨 2016-06-03 07:30:48
我在网上看到这样的答案,因为广播接收器的生命周期很短,你线程还没执行完,广播接收器可能就被回收了。我不太懂,广播接收器被回收就回收咯,跟线程有什么关系?请问该怎么理解?
...全文
417 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Perfect411_111 2016-06-13
  • 打赏
  • 举报
回复
线程依赖的context没了,不稳定
马也程序猴 2016-06-13
  • 打赏
  • 举报
回复
BroadCastReceiver被回收后,在它内部开启的线程就成了空线程,在设备有空闲运行资源的情况下可能没有影响,但是当设备缺少运行资源需要回收时,这些空线程就会被系统回收,导致线程中的任务没有完全运行,从而影响了程序的运行。所以为了避免开启的线程因为BroadCastReceiver的短生命周期而成为易被回收线程,通常极度不建议在其中开启线程。
u013353880 2016-06-06
  • 打赏
  • 举报
回复
引用 3 楼 kk_dev的回复:
引用 2 楼 u013353880 的回复:
广播接收器通常是用来弹出通知信息(Notifycation),存在的时间很短,要开线程可以用服务Service。
我知道他不能开线程,可是为什么不能?存在时间短就不能吗?有什么联系
因为存在时间短,怎么能保证线程的运行成功?
蓝大巨 2016-06-06
  • 打赏
  • 举报
回复
引用 2 楼 u013353880 的回复:
广播接收器通常是用来弹出通知信息(Notifycation),存在的时间很短,要开线程可以用服务Service。
我知道他不能开线程,可是为什么不能?存在时间短就不能吗?有什么联系
u013353880 2016-06-06
  • 打赏
  • 举报
回复
广播接收器通常是用来弹出通知信息(Notifycation),存在的时间很短,要开线程可以用服务Service。
想长胖胖 2016-06-03
  • 打赏
  • 举报
回复
确定以及肯定地告诉你,可以!

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧