我遇到了类似于AsyncTask、 RejectedExecutionException 和 Task Limit的此类异常,以及“获取代码并添加到我的包”。我的问题是:这是正确的答案,有人有其他官方解决方案吗?
java.util.concurrent.RejectedExecutionException:任务 android.os。AsyncTask $3@416cd2e0 从 java.util.concurrent.ThreadPoolExecutor@4101be78 被拒绝[正在运行,池大小 = 128,活动线程 = 128,排队任务 = 10,已完成任务 = 53]
updateTimer.schedule(updateTask, 500, 3000);
...
updateTask = new TimerTask() {
public void run()
{
updateHandler.sendMessage(msg);
}
};
...
updateHandler = new Handler() {
public void handleMessage(Message msg)
{
updateAsync();
}
};
...
new AsyncTask<Void, Void, Void>() {
protected Void doInBackground(Void... params)
{
retrieveStatus();
return null;
}
protected void onPostExecute(Void result)
{
super.onPostExecute(result);
updateStatusUi();// !!!?
}
}.execute();
updateTask = new TimerTask() {
public void run()
{
retrieveStatus();
getActivity().runOnUiThread(new Runnable() {
public void run()
{
updateStatusUi();
}
});
}
};
IN ICS:大约 10 次后,它不再更新。你能给我一个演示,这样我就可以通过一些严格的测试,比如: MainActivity: open(), close(), ...
PS myAsyncTask.executeOnExecutor(MyAsyncTask.SERIAL_EXECUTOR, [params] ); 将工作?