2015-10-29 134 views
0

我是新来的多线程编程。我现在在Android Studio for API 16上为智能手机开发应用程序。搜索关于如何暂停我的程序的帮助,我发现sleep()由于线程化而不好。请告诉我:调试java android多线程

  1. 对于多核处理器(可能取决于API版本),Android是否存在“真正的”多任务处理?
  2. 有没有(不知道正确的术语)暂停一个线程开始在Android上进行其他多任务处理?
  3. 如果是1或/和2 - 如何调试代码 - Studio将打开新窗口的新方法调用(线程启动) - 我自己还没有看到呢?也许其他调试工具?
  4. 在运行过程中 - 如果我在监听程序(相同或其他方法)上的运行没有完成时单击带监听程序的说话按钮 - 它会开始处理并行的方法吗?
  5. 同样的问题,如果首次运行通过postDelayed推迟?

非常感谢!

回答

0

由于异步处理是目前大多数应用程序的活力,Android确实支持MultiTasking

Android支持多线程,就像Java一样,每个应用都有一个UI线程来处理来自用户的输入事件并修改用户界面。这个线程被称为主线程。而在时间,你不能在主线程使用的一切,在这种情况下,Android提供你主要是2种方式来实现并发:

  • 处理器
  • 的AsyncTask

使用线程,是不建议在Android中,由于以下原因:

  • 同步与主线程,如果你回发结果给 用户界面
  • 没有默认取消线程
  • 没有默认的线程池
  • 没有默认处理Android中
  • 配置更改

在大多数情况下,AsyncTask是最佳的选择,你可以阅读更多关于AsyncTaskhere另外,如果你想了解更多关于Android的并发性,请参考this