在实时处理时,如果需要写入文件,且是实时获取数据,并数据量较大时,为保证数据获取的通常性,则需要使用缓冲区,一边读取数据,一边在缓冲区满时写入文件,此时,可保证实时交互性与文件保存的及时性,实现并发。
算法思路如下:
1.开读取的线程获取实时数据。
2.在实时线程读取数据后,根据数据的长度进行判断,分为2种情况,如果此次读取的长度如果超过缓冲区的大小,则将该缓冲区填充满后,写入SD卡,记录已读取数据的长度,并将剩余的数据拷贝到下一缓冲区;如果此次读取的长度不超过缓冲区大小,则直接写入缓存区。
3.继续下一次读取。
代码整理后分享。