执行 Thread.Sleep(10) 会对应用程序的性能产生任何副作用吗?
准确地说,在DoinBackground()方法中执行Thread.Sleep(100)会影响进程中的其他Asyntasks吗?
如果是这样,我们是否可以在 Asynctask 内部造成延迟,以便其他任务的执行不会受到影响?
感谢和问候,
manjusg
最佳答案
是的,它会影响您的应用程序的性能。 AsyncTask 串行执行,因此这会延迟其他 AsyncTask 的启动。但如果您的应用程序需要在 AsyncTask 中 hibernate 而不影响其他 AsyncTask,您可以并行执行它们。但这也有一个缺点。这将比默认的消耗更多的内存,因此如果您有更多的任务要执行,您可能会遇到 OOM。以下是如何并行运行任务
yourAsyncTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, params);
希望它会有所帮助;)
关于java - Android 异步任务中的 Thread.Sleep(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20443580/