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

蓝大巨 2016-06-03 07:30:48
我在网上看到这样的答案,因为广播接收器的生命周期很短,你线程还没执行完,广播接收器可能就被回收了。我不太懂,广播接收器被回收就回收咯,跟线程有什么关系?请问该怎么理解?
...全文
488 6 打赏 收藏 举报
写回复
用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
  • 打赏
  • 举报
回复
确定以及肯定地告诉你,可以!
amneziawg-amd64-3.1.0 是适配 amd64 架构、基于 WireGuard 深度优化的开源网络隧道工具,3.1 版本在原版基础上重点强化抗检测能力与运行稳定性,兼顾轻量化、高性能与高兼容性,适配各类 Linux 服务器部署场景。该软件核心优势在于解决了原生 WireGuard 易被深度数据包检测识别的短板,可用于构建虚拟私有网络,实现外网主机内网化组网。 在外网主机内网化场景中,它可以将分布在不同公网环境下的多台主机,接入同一个虚拟局域网。哪怕主机处于异地、不同运营商网络,设备之间都可以使用内网 IP 互相访问,如同处在同一局域网。可以实现外网服务器、远程工作站之间的文件共享、内网服务访问、远程运维管理。组网时无需复杂端口映射,只需要两端部署 AmneziaWG,配置虚拟网段即可打通。所有跨公网通信流量经过加密封装,远程访问内网业务时安全性更高。适合多节点异地组网,统一管理分散在外网的业务主机。 核心功能方面,其一搭载专属流量混淆伪装机制,优化 UDP 流量模拟算法,隐匿协议特征,提升隧道连接稳定性。其二采用 Curve25519 密钥交换、ChaCha20 数据流加密与 Poly1305 消息认证技术,保障传输数据安全,防止篡改与泄露。其三资源占用极低,低配服务器也可 7×24 小时稳定运行。同时优化连接逻辑,降低延迟、减少丢包,支持自定义隧道参数,部署简单,开源纯净,针对 amd64 架构深度适配,windows系统应用,兼容主流 Linux 系统。 重要提醒:仅可用于企业合法异地内网组网、自有设备远程运维,禁止利用该工具搭建翻墙通道,请严格遵守《网络安全法》等相关法律法规。

80,489

社区成员

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

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