读Android蓝牙通信源码

  • 我说的读android蓝牙通信源码并不是说,读google官方api,那个我也看了一下,里面全是英文倒不说,英文好的,直接无视掉。关键是代码写的我实在难以理解。当然,这也和我的阅读源码的能力有关联的。不过,幸好我在网上找到了一份开源的蓝牙通信的代码是menghnhhuan写的。大家想看他的源码可以直接戳进去就可以直接看到。
  • 这真的是一份少见的,写的非常清晰的代码。
  • 为什么这么说呢?
  • 因为大家做android开发,一定写过很多项目,也见到过很多的别人写的项目。大多数,无论是自己写的,还是别人写的,我们看了往往都是直摇头。会感到愤怒,诧异,震惊。为什么会有这么烂的代码?但是,很幸运,我今天读到的这份代码,就没有上面的情况。看了之后,只感觉很清爽,很舒服。
  • 好的,介绍就这些了,下面简单讲讲这个代码吧。
  • 这份代码是关于android蓝牙通信的Demomenghnhhuan写的。
  • 然后,这份代码,因为是蓝牙通信,就少不了线程通信的操作。一般我写线程通信,写这些逻辑操作都是直接在需要操作的地方搞一个子线程去操作。这也本身没有问题。而且感觉可读性很好。比如点击一个按钮去做一个网络访问。往往,我就会在点击事件里面搞一个子线程去访问网络。但是这样做也有一个坏处,就是性能很差。过不多久,特别是这种点击操作很多的时候,log就会提示在主线程执行了太多的操作,已经gc了多少内存等等。虽然这个提示不会带来什么。但是我们自己心里清楚,这就是烂代码。但是,我看到这份源码里面,不是这么干的。他的做法也很简单,就是在原本需要去搞子线程进行耗时操作的地方,定义一个变量,并不是马上去搞子线程。然后在需要这些数据显示的界面,再去根据之前定义的变量,开启相应的线程去做操作。虽然效果一样的,但是,这也就减轻的View控件的操作。这样,无论怎么频繁的操作UI,都不会频繁的执行子线程中的耗时逻辑。也就提高了程序的性能。
  • 其实里面关于蓝牙的连接,数据收发。很多其他的代码也实现了。这个都是标准的流程,我就不多说了。我为什么会去看这个代码呢?因为我之前看到其他的蓝牙通信的源码,感觉里面很混乱,读了半天也没有明白,这个执行的流程是怎样的,到底先开哪个线程,然后执行什么操作,最后得到什么结果。UI与子线程的数据是在什么时候交互的,完全理不清楚。然后就在网上继续找源码。最后发现了这个优秀的代码。
  • 好东西,不敢独享,就放出来给大家看看了。
  • 我会根据这份源码,自己写一个Demo,到时候,有什么心得再带着我代码过来和大家分享。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值