我的应用程序使用a Service做一些背景的东西.我在服务中使用其他线程来进行一些计算.为此,我每隔5到10秒创建两个线程,运行5到10秒.但我不知道我应该使用哪个线程模型:
的AsyncTask:
优点:
缺点:
ExecutorService固定的线程池来执行AsyncTasks普通Java线程:
优点:
缺点:
哪种型号更好用?特别是在关注性能方面.当我使用AsyncTasks时,是否存在繁重的开销,并且ExecutorService在重用线程方面比Android更快创建新的AsyncTasks?
我正在使用AudioRecord录制音频以便进一步处理.似乎一次只能有一个AudioRecord可以访问音频硬件.如何检查音频硬件是否可访问,以便我可以开始录制?一种可能性是实例化AudioRecord实例,然后使用AudioRecord.getState()检查其状态.这将返回,正确初始化AudioRecord-Instance.这是唯一的方法吗?但是还有另一个问题,在进行录音时你必须解决这个问题.当另一个应用程序要记录时会发生什么?如果另一个应用程序想要记录,是否有可能被通知?
提前致谢!托比亚斯
PS:有没有可能检查Android设备支持哪些采样率?