【发布时间】:2019-01-23 11:11:08
【问题描述】:
Log.p("Active threads: " + Thread.activeCount(), Log.DEBUG); 在不同设备上运行相同的 Codename One 应用程序时记录不同的线程数。我不明白:如果我不使用计时器或网络线程,所有应用程序不应该只在一个线程(EDT)中运行吗?
感谢您的澄清。
(这个问题只针对代号一)
【问题讨论】:
标签: codenameone
Log.p("Active threads: " + Thread.activeCount(), Log.DEBUG); 在不同设备上运行相同的 Codename One 应用程序时记录不同的线程数。我不明白:如果我不使用计时器或网络线程,所有应用程序不应该只在一个线程(EDT)中运行吗?
感谢您的澄清。
(这个问题只针对代号一)
【问题讨论】:
标签: codenameone
默认生成的代码有 2 个网络线程,一旦发出网络请求就会打开。 Codename One 还创建 EDT,并且偶尔会产生一个短暂的线程来执行等待任务,例如用于各种 AndWait 方法或用于显示对话框。
除此之外,您将拥有操作系统本机 EDT,在某些操作系统中还包括另一个工作线程。 GC 线程有时也伴随有终结器线程。您还将拥有任务专用线程,例如用于处理媒体、推送等的线程。
其中许多线程将处于空闲状态,因此不会对性能产生明显影响。
【讨论】: