我读过关于该主题的每个教程和每个论坛讨论,但仍然无法实现!这是非常令人沮丧的。
看来,这样做的方式是使用executeOnExecutor()方法与 - AsyncTask.THREAD_POOL_EXECUTOR,所以我在我的代码。但第二项任务只是在第一项任务完成后才执行,而不是在同一时间执行。
我最小SDK版本为2.3,最大为4.2,所以我做了检查:同时并行处理两个异步任务(我真的需要这个吗?)
if (android.os.Build.VERSION.SDK_INT >=android.os.Build.VERSION_CODES.HONEYCOMB) {
engine.setEnginesTurn(true);
engineThread = new EngineThread(board,engine,activity,boardView);
rt = new RotateTask(boardView);
engineThread.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
rt.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
else{
engine.setEnginesTurn(true);
engineThread = new EngineThread(board,engine,activity,boardView);
rt = new RotateTask(boardView);
engineThread.execute();
rt.execute();
}
忽略布尔变量here..it是不相关的,也因为你想知道为什么我没有其他的代码不要发布。这是一团糟,但都工作得很好,执行两项任务。我究竟做错了什么?
我希望两个任务并行运行的原因是:第一个任务是一个计算任务,另一个是在计算机思考(其游戏应用程序)时旋转动画的自定义沙漏图像。
编辑:啊..只是想包括我不做主要UI线程上的动画是因为我使用睡眠()的动画,所以不能冻结主线程。
太多的文字... -_- –
对此感到抱歉,但事实上,我在这里有两个问题,我还想解释需要两个独立任务的原因。这太可怕了吗? (我的意思是文本的长度):) – user2030118
这不仅仅是它很长,但不是很清楚。如果你想让人们帮助你,你应该努力清楚地表达你的问题。 – toto2