Log.p("Active threads: " + Thread.activeCount(), Log.DEBUG);
在不同设备上运行相同Codename One应用时记录了不同的线程数。我不明白:如果我不使用计时器或网络线程,那么所有应用程序都不应只在一个线程(EDT)中运行吗?
谢谢您的澄清。
(此问题仅被称为代号One)
答案 0 :(得分:1)
默认生成的代码具有2个网络线程,一旦发出网络请求,这些线程将打开。代号One还创建了EDT,偶尔会产生一个短暂的线程来执行等待任务,例如用于各种AndWait方法或显示对话框。
除此之外,您还将拥有操作系统本机EDT,在某些操作系统中还包括另一个工作线程。 GC线程,有时还带有终结器线程。您还将拥有任务专用线程,例如用于处理媒体,推送等的线程。
这些线程中的许多线程将处于空闲状态,因此不会对性能产生明显影响。