来自Android书籍的一些文字:
“但是,从Android 3.0开始,同步操作就没有了 更长时间直接从UI线程运行。 “
我认为在某个线程中运行的每个代码都是“同步操作” 那么,“同步操作”是什么意思?
android运行时如何检测到代码是“同步操作”
答案 0 :(得分:2)
中的以下引用您的应用程序在Android 3.0及更高版本上崩溃的原因,但在Android 2.x上工作正常是因为Honeycomb和Ice Cream Sandwich对于滥用UI线程更为严格。
当应用程序尝试在其主线程上执行网络操作时,将引发NetworkOnMainThreadException。仅针对Honeycomb SDK或更高版本的应用程序进行此操作。针对早期SDK版本的应用程序可以在其主要事件循环线程上进行联网,但不鼓励它。
答案 1 :(得分:2)
这意味着大型处理操作无法与主线程(UI)同步运行。
这是旧版Android(如2.2)中不存在的问题,因此,当长时间运行的流程启动时,除非流程结束,否则用户无法执行任何操作。
是的,我同意他们没有选择世界上最好的词。