作者benjoyce (Ben门弄斧)
看板AndroidDev
标题[问题] 长时间的蓝芽接收与绘图
时间Sat Mar 24 11:47:11 2012
小弟最近写APP遇到了严重瓶颈
来此版寻求各位的协助
最近在写一个APP是关於蓝芽接收与绘图
目的要让此应用程式长时间执行(5小时)
但在程式执行大约在20分钟(时间不一定)会发生应用程式不正常关闭
这个问题困扰一个多月了一直找不出答案
详细内容如下
目的:长时间由Android智慧型手机透过蓝芽接收远端硬体资料并绘图
远端硬体有两个传输模组:
1. 每秒传送250个封包,每个封包15个Bytes
2. 每秒传送60个封包,每个封包7个Bytes
其中透过MCU使其由一个Serial Port送至蓝芽模组发送
而在後端接收是由智慧型手机接收
蓝芽接收方面
是用AsyncTask加上While回圈去读取蓝芽接收buffer的资料并存入预设的buffer
接着会透过While以及Switch找标头档并将资料做分离再分别存入不同的buffer
当buffer满了以後会从头开始存,所以不会有overflow的问题
绘图方面
是用View中的ondraw去画的(有在里面做一些简单的计算)
并由Handler去触发invalidate()让画面可以更新
再透过一个AsyncTask去控制线程睡眠时间(画面更新速率)
内容大致如上
程式一开始执行并在15~20分钟内执行一切正常
但大约在20分钟左右绘图画面显示的资料就像是被压缩了一样
过没多久就会当掉,发生应用程式不正常关闭
一直找不出问题,如果各位有甚麽想法都可以提出给小弟参考
拜托各位帮忙了> <...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.84.167
1F:→ hijamoya:写成service 03/25 18:48