在Android应用程序中,当我们执行网络操作时,我们主要使用除主UI线程之外的线程。我已经看到核心Java应用程序同时使用多个线程。因此,除了网络操作之外,在Android中使用多个线程是一个好习惯吗?我觉得如果我使用多个线程并且它们直接影响我的应用程序流程的原因之一,那么它可能会导致数据不匹配,因为在Ui更新或用户遍历下一个活动时,其中一个线程可能没有执行。所以所有的数据操作都应该同步进行。所以在Android中使用多个线程和纯Java应用程序一样,这是一个好习惯吗?为什么在java应用程序中不会出现这种情况?是因为与适当的机器相比,移动设备处理多个进程的能力较低?谢谢。
答案 0 :(得分:3)
您提出了错误的问题:真正的问题应该是:如何设计我的Android应用以为用户提供最佳用户体验?
作为程序员,您不使用概念,因为它们存在,而是因为它们将值添加到您正在执行的操作中。
例如,您查看线程以确保您的应用不会阻止或无响应。如果你的应用需要做很多不同的事情,那么很有意义的是这些事情可以在一定程度上“平行”发生。
当然,线程会为您的逻辑添加复杂性;当然,当你开始使用线程时,你需要知道你在做什么。使用导致数据不匹配的多个线程本身。
当您不知道自己在做什么时,导致问题的原因是什么!
长话短片:你的问题听起来更像是我不知道如何在Android上进行多线程编程;因此你应该学习那个话题;以here为例!
编辑:最后,这是关于平衡和务实。一方面,是的,(正确!)多线程为您的应用添加值;但当然,就额外的复杂性而言,还有成本。因此,基本答案可能是:做你感觉舒适。如果您觉得多线程让您更难以交付正确的产品,那么 会回答您的问题 - 您不应该使用自己的东西不舒服!