如何在Android中同时调试AsyncTasks的问题?

时间:2013-10-14 19:23:14

标签: android android-asynctask android-debug

我一次运行几个AsyncTasks,似乎导致了一些特殊的问题,比如渲染按钮无法使用。一个AsyncTask负责保持会话活动,并在每个活动的onResume()上运行:

public class SessionKeepAliveTask extends AsyncTask<Void, Void, Void> {

    private Context mContext;

    public SessionKeepAliveTask(Context context) {
        mContext = context;
    }

    @Override
    protected Void doInBackground(Void... params) {

        try {

            ... create httpClient, set headers with cookie, 
            send request, process results     
            ...

然后我有另一个AsyncTask用于简单地从服务器获取JSON对象并将结果加载到listview中:

public class ClaimSearchService extends AsyncTask<HashMap<String,String>, Void, Void> {

    protected Context mContext;
    private Listener mListener = null;

public ClaimSearchService(Listener listener, Context context) {
    super();
    mListener = listener;
    mContext = context;

}

@Override
protected Void doInBackground(HashMap<String,String>... params) {


    try {
        ...send the request, get the results, pass them to listener for 
        processing in another activity

如果我没有运行SessionKeepAliveTask任务,那么我的搜索服务按预期工作,但如果我这样做,我会得到一些不可预测的错误。我更有兴趣知道如何开始调试这个问题,而不是一个可靠的答案,但显然如果有人在此之前遇到这个问题会很好。我可以看到DDMS监视器中的当前线程,但我不确定如何使用它。

0 个答案:

没有答案