java - Android 异步任务中的 Thread.Sleep()

标签 java android multithreading android-asynctask

执行 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/

相关文章:

java - 使用 Java 8 读取巨大的 csv 文件并转换为 JSON

java - CursorIndexOutOfBoundsException : Index -1 requested,,大小为 163

c# - 如何保存并在以后恢复线程执行状态?

java - long 和 double 值的原子读写

delphi - 递归文件搜索线程

java - 使用 HttpClient 发布 Base64 编码的视频文件

java - 在 vaadin 应用程序中放置我的企业登录信息的位置

java - 如何使用 Java 从 Mongodb 的子文档数组中获取所需的字段

android - Android上的任务队列就像iOS上的GCD一样?

java - 关于android中java中日期格式的咨询