我试图从附件的InputStream
中读取字节而不阻塞线程(如果可能)。使用Android ADK阻止线程
通常,我会将read(buffer)
调用包装在if available()
中,但available()抛出异常(即使read()在InputStream上工作正常)。
是否有任何其他解决方案可以最大限度地减少线程阻塞?
编辑:
我设置AsyncTask
做背景阅读(虽然我知道我应该使用一个真正的线程扩展的任务),它工作正常十岁上下。
我想真正的问题是,有没有一个后台线程不断被'读取'调用阻塞的性能损害?现在没有任何效果,但应用程序很快就会变得非常密集,我希望至少使通信尽可能轻便。
请问BufferedInputStream
会降低负载吗?这是它自己的available()方法。
为什么不直接旋转起来'Thread'处理读操作的吗?然后,只要实际上有数据要处理,就可以回调其他对象。 – aroth 2012-02-23 23:18:32