我似乎有以下的AsyncTask內存泄漏,有哪些可能的原因呢?內存泄漏的AsyncTask
/**
* Async task class to get json by making HTTP call
* */
public class PostLocation extends AsyncTask<String, Void, String>
{
@Override
protected void onPreExecute()
{
}
@Override
protected String doInBackground(String... params)
{
try
{
String response = "";
URL url = new URL(BASE_URL + "receiveLocation.php");
myConnection = (HttpURLConnection) url.openConnection();
myConnection.setRequestMethod("POST");
myConnection.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(myConnection.getOutputStream());
wr.writeBytes(params[0]);
int responseCode = myConnection.getResponseCode();
if (responseCode == HttpsURLConnection.HTTP_OK)
{
String line;
BufferedReader br = new BufferedReader(new InputStreamReader(myConnection.getInputStream()));
while ((line = br.readLine()) != null)
{
response += line;
}
}
else
{
return response = "";
}
return response;
}
catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
return "false";
}
}
@Override
protected void onPostExecute(String result)
{
if(result.equals("success"))
{
myConnection.disconnect();
}
}
}
這只是發佈一些數據到我的服務器。這可能是造成內存泄漏,請注意這個任務被稱爲在使用goAsync
加入logcat的將給予更多的信息。 –
這個類放在一個單獨的.java文件中,還是嵌套類? – Kelevandos
@Kelevandos這是我的廣播接收器中的內部類 – Rob85