Archives for 2017

$ SELECT * FROM posts WHERE years='2017'

为什么应该使用本地广播(LocalBroadcastManager)

2017-09-10

从 Android 诞生已来,就一直有所谓的四大组件,BroadcastReceiver 是其中之一。 几乎在各种样的应用中都有 BroadcastReceiver 的使用,它被应用于接收系统发送的消息以及与其他应用之间的交互,但也被大量的误用于应用内部通信。 然而在同应用中使用则违背 BroadcastReceiver 的设计用途及理念。 全局 Broadcast 在应用内使用的缺陷 在 Google 的开发指南中清楚的描述了 Broadcast 用于接受来自系统的消息,例如:系统启动、开始充电、应用安装等,那么,它的本质就是一个类似于发布定阅模式用于跨进程的通信机制。这代表了,在进程内部去使用这样一种全局的通信机制,是不合适的,以下选取了几个侧面来进行说明。 全局的 Broadcast 是不隐私的,其他应用可能获取到应用内部通过 Broadcast 发送的隐私信息,无论我的 Intent Filters 是在 Manifest 文件里声明还是动态的注册,作为字符串常量,他们都不会被混淆 …

Latest Posts

在 VPS 上搭建 Cisco IPsec|L2TP over IPsec 的极简攻略

三年前我写过一篇在VPS上搭建PPTP VPN的极简攻略, 不过一年前我就不再使用 PPTP VPN 了,最主要的原因是因为 macOS 完全不支持 PPTP;另一个原因是基于 ipsec 协议的 VPN 更加安全,IPsec 协议会加密你的网络数据, 避免泄漏或者中间人攻击。所以现在对于需要全局代

为什么应该使用本地广播(LocalBroadcastManager)

从 Android 诞生已来,就一直有所谓的四大组件,BroadcastReceiver 是其中之一。 几乎在各种样的应用中都有 BroadcastReceiver 的使用,它被应用于接收系统发送的消息以及与其他应用之间的交互,但也被大量的误用于应用内部通信。 然而在同应用中使用则违背 Broadc

推荐 Vocabulary.com

阅读之前如果你还在思考背单词的意义,我建议你先想清楚,或者参考别人的意见,例如知乎的讨论 背单词是必须吗 等问题。 从英语方面来说,我肯定不是大神,小神都算不上。 我背单词的路径基本是 中学大学英语书附录 -> 高频词汇书 -> 扇贝单词 -> Vocabulary.com。 那为什么要来推荐 Vo