我有一个包含2个活动的Android应用程序。每个活动都有一个AsyncTask,它使用UDP与服务器通信。
public class MainPostTask extends AsyncTask<String, Integer, String> {
@Override
protected String doInBackground(String... params)
{
..... udp comunication here
}
}
我每20秒在这两个活动之间进行更改。
e.g.:
Intent it = new Intent(this, MainActivity.class);
startActivity(it);
省略了另一个PostTask以减少文本。
3小时后,Android变得非常慢。有时很难关闭应用程序。 我确信在更改活动之前我正在完成AsyncTask。
你知道发生了什么吗?如何配置Android以查看内存/ CPU等?
我也使用Log.d()。当我插入电缆时,所有缓冲的消息都输出到logcat。您认为此日志消息是否导致问题?
祝你好运, Andersan。
答案 0 :(得分:1)
您是否总是通过调用startActivity来更改活动?如果是这样,你就是在堆叠活动。不要那样做。
你想通过切换任务来完成什么?回答这个问题会让我们知道如何最好地处理你的情况。
答案 1 :(得分:0)
你提供的代码很少。也许你没有关闭连接。也许你的任务没有被删除和修复。 研究以下材料: