我想知道如何为我的 Android 应用程序启动和编写线程管理器。 我的应用程序将使用网络 I/O 填充列表,我必须为此管理线程。
我以前从未这样做过,我不知道从哪里开始。我听说过线程池和其他东西,但我很困惑。有人可以帮我渡过难关吗?
谢谢
AsyncTask
已经有一个线程池——只需使用它即可。
图书馆里有一些经理(我相信其他人会推荐),但像我一样,从长远来看,您可能会发现建立一个能够满足您确切需求的更好。
它可以非常简单,并且可以通用于 Java 而不仅仅是 Android。它可以只是一个 Runnables 的 ArrayList。一种方法将可运行对象添加到 ArrayList 的后面。第一次调用此方法时,会初始化并运行一个新线程。这个线程只是重复地从ArrayList前面删除一个Runnable,并执行它。当 ArrayList 为空时,线程退出。
您需要注意保持对 ArrayList 线程的访问安全,但事情确实可以这么简单。
如果您需要添加优先级或取消队列中或正在进行的任务,事情会变得更加复杂。
要为 Android 应用程序创建线程管理器,您可以根据需要利用 HandlerThread、Executors 或 Kotlin 协程等工具。例如,执行器提供了线程池,而协程则通过更少的样板简化了异步任务的管理。确保正确的生命周期处理以避免内存泄漏也很重要。顺便说一句,如果您正在应用程序设计阶段,本关于如何设计 Android 应用程序的指南可能会有所帮助!