android - 如何在不阻塞应用程序的情况下保持线程 Activity ?

标签 android multithreading

为了在我的应用程序中执行一些 IO 操作,我写了一个线程,它的 run 方法没有任何内容,但它有几个其他方法,比如 void write(String filename, String data) 和 void create(String filename),所有其中的工作就像一个魅力。我的问题是,我曾经认为这个线程在后台运行或类似的东西但是因为在我的主要 Activity 中删除 .run() 语句调用所述方法仍然有效,我怎么能让一个线程运行并等待一个来自 Activity 的消息而不阻止应用程序?第二个问题,既然这些方法仍在工作,这是否意味着当我从我的主要 Activity 中调用它们时,它们正在主 UI 线程上执行?

最佳答案

你应该使用 start()方法,而不是 run()

使用 run(),您将在调用线程中运行给定的 Runnable

使用 start() 您将启动一个新线程来处理此 Runnable

关于android - 如何在不阻塞应用程序的情况下保持线程 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12294453/

相关文章:

从 Google Play 中的服务器 'RPC:s-5:AEC-0' 检索信息时出现 Android 错误?

c# - M2Mqtt消息缓冲

asp.net - 通过ASP.NET下载会影响IIS性能吗?

Android HttpResponse - 内容已被消费

android - SurfaceView 隐藏屏幕上的其他组件

Android 5.0 - 首选项中的复选框不可见

java - 致命异常 : java. lang.IllegalStateException 无 Activity

java - 这个SwingWorker是不是没有复用ThreadPoolExecutor中的Threads?

c++ - 解锁互斥体的顺序在这里有区别吗?

c - 调用 swapcontext() 后队列丢失指针