android打开多个串口通信,Android使用多进程来进行串口读写

本文介绍了如何在Android系统中通过多进程方式解决串口通信问题,以提升APP响应速度和内存利用率。文章详细阐述了Service与串口进程的通信流程,包括使用Messenger进行跨进程交互,以及通过EventBus分发串口数据到应用页面。
摘要由CSDN通过智能技术生成

一、前言

前段时间在工作中有一个棘手的问题,接手了一个Android项目,因需要投入使用的设备内存小(RAM1GB)且使用到串口较多,频次较高的原因,在某些页面使用上会出现略微的卡顿,导致用户体验不是特别好,我当时的想法是:如果把1GB换成2GB,那么这把牌将绝杀,可惜设备已经订好了,换不得。

初步决定使用多线程的方式,将串口读写的工作和业务代码分开来,一个是把代码模块化,另外一个是多进程便可以从系统处分配出更多的内存以加快整个APP的响应速度。

二、原理图

先贴一下整个流程的原理图

af628790f17a7ecd8da74cf47259b38c.png

原理比较清晰,由Service和串口进程通信,我们的Application与Service进行绑定,通过Messenger和Service进行交互,而数据由Application通过Eventbus进行下发给页面

三、实现功能

(一)Service和串口通信

我这边开了两个串口做演示,一个是ttyS0,波特率9600

另外一个是ttyS1,波特率9600

mSerialPortManager1 = new SerialPortManager(new File("/dev/ttyS0"), 9600)

.setOnSerialPortDataListener(new OnSerialPortDataListener() {

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值