Tôi hiện đang làm một cái gì đó như thế này trong phương pháp onPostExecute của AsyncTask, nơi NewTask
là không nhiệm vụ hiện nay đó là thực hiện:Android AsyncTask Bắt đầu Một AsyncTask
private class OlderTask extends AsyncTask<String, Void, Integer> {
//other functions (not important)
@Override
protected void onPostExecute(Integer result) {
new NewTask().execute(null, null);
}
}
Tôi đang tự hỏi nếu điều này là một xấu ý kiến. Sẽ làm như vậy gây ra GC cho OlderTask để chờ cho NewTask? Có bất kỳ vấn đề nào khác có thể xảy ra khi sử dụng cách tiếp cận này không?
Và nếu đây là một vấn đề, làm thế nào tôi có thể khắc phục nó?
Cảm ơn. Logic tương tự cũng sẽ áp dụng nếu 'OlderTask' đang tạo một' OlderTask' mới? – yydl
Miễn là phiên bản khác của 'OlderTask' và nó không tham chiếu đến cá thể trước đó trực tiếp hoặc gián tiếp. –