Android可以有多less个线程?

我有一个Android应用程序,有单独的事情正在进行,但基本上都是线程(并且绝对是Androiddebugging器的线程)

有多个animation监听器可以循环调用对方

有一个倒计时器在启动后总是倒数到零

现在我需要考虑添加更多的倒数计时器。 我可以进行多less种这样的循环过程? 在这个特定的实现中,我不关心性能,效率等等,直到它变得明显。

Insight深表谢意

Solutions Collecting From Web of "Android可以有多less个线程?"

只要你正确地pipe理自己的生命周期,防止“繁忙的循环”之类的事情发生,我会非常惊讶的发现,你已经耗尽了可以在android应用程序中安全使用的线程数量。

有一件事是我学的,我敢肯定,你随时可以有5个异星任务,如果你开始新的任务,他们将会任意地继续存在并被自己杀死或重生…也就是说,如果我变成了异类然后closures5次debugging器会说5个asynchronous线程可操作,但我可以不断切换打开和closures尽可能多的,因为资源池将杀死最古老的死的asynctask。

没有我知道的最大值。 但是,我可以告诉你,你很可能不需要这么multithreading。

您可以使用Android的Handler ,特别是postDelayed()方法,将倒计时监听器保存在单个线程中。 在一个单独的线程中启动一个Looper ,并使用一个Handler来pipe理超时 – 不要等待,或者hibernate循环。

我不相信倒数计时器会创build线程 – 它应该简单地将您的任务从外观上添加到主线程的队列中。

所有的监听器都应该在同一个线程上进行(有一个单独的线程可以pipe理所有监听器(对于可见的对象)。

所以你可能没有在你想象的那么多的线程中使用。 如果你创build了很multithreading,我会担心的 – 他们很难保持同步,并可能花费你比获得更多,但列出的结构,我会继续前进和分配尽可能多你觉得合适(但当然在便宜的设备上testing性能)