所以,我正在制作一个图表。计算 x 和 y 正在完成宽度从 0 到 5000 的 for 循环。加载需要很长时间,所以我想在计算数字时放入它自己的线程和 maby 绘图,而不是绘制何时一切都完成了吗?
我必须归档,Graph.java 接受一个方程并将其发送到 GraphDrawer.java 进行绘图。
图表:http : //pastebin.com/tBvr1d03图表:http: //pastebin.com/8ZwUS75u
所以,我正在制作一个图表。计算 x 和 y 正在完成宽度从 0 到 5000 的 for 循环。加载需要很长时间,所以我想在计算数字时放入它自己的线程和 maby 绘图,而不是绘制何时一切都完成了吗?
我必须归档,Graph.java 接受一个方程并将其发送到 GraphDrawer.java 进行绘图。
图表:http : //pastebin.com/tBvr1d03图表:http: //pastebin.com/8ZwUS75u
继续阅读AsyncTask
,它可以满足您的需求。
在 中运行您的计算doInBackground()
,调用以publishProgress()
将您的更新发送到 UI 线程,并实施onProgressUpdate()
以接收这些更新并绘制它们。
是的,通常建议在自己的线程中执行慢速操作。主线程被长时间阻塞(很多秒)既不利于用户体验,也可能导致 Android 判定进程遇到问题并提供强制关闭。
但是,您可以/绝对不应该使用在非 UI 线程中生成的图形持续更新 UI,因为从多个线程操作 UI 可能会产生未定义的结果。有关更多信息,请参见此处,特别是在“工作线程”下。