我在其中放置了一个代码,onActivityResult()
但它大大减慢了我的活动,
该代码是对图像进行二值化。
我很困惑该用什么AsyncTask
或者Thread
,
你能帮我吗
问问题
148 次
3 回答
1
onActivityResult 与线程或异步任务无关。
线程允许您的应用程序同时做两件事。这样做可能会有相当大的风险(如果他们同时编写相同的变量怎么办?)。使用它们时需要小心。
AsyncTask 是一个线程,它会在完成后自动在主 UI 线程上运行一些代码。它对于在线程上运行一些代码然后在主线程上同步结果很有用。
当您在自己的应用程序或其他人的应用程序中运行完全独立的活动时,将调用 onActivityResult。如果您需要运行另一个活动,这是从中获取结果的唯一方法。它与线程无关。
于 2013-05-31T18:54:26.457 回答
1
AsyncTask 和 Thread 都可以让你在不同的线程上运行后台任务。
但是 AsyncTask 为您提供了各种回调,以便您可以在后台任务完成或取消后更新 UI。
因此,如果您的任务涉及任何 UI 更新;请使用异步任务。
于 2013-05-31T18:55:18.363 回答
1
使用异步任务
AsyncTask 也使用 Thread,但是以一种智能的方式。在 android 中,您不能直接从工作线程更新 UI。但是您可以从 Asynctask 执行 UI 任务。所以这是一个更好的选择。
于 2013-05-31T18:52:05.917 回答