1
如果我有一個AsyncTask作爲一個單獨的類,並且我從一個Activity運行AsyncTask,那麼AsyncTask會持有對Activity的引用,就像它是後者的內部類一樣? 還是它解決了內存泄漏的問題?AsyncTask作爲一個單獨的類
此外,將包裹在WeakReference中的上下文傳遞給AsyncTask會做出什麼改變?
如果我有一個AsyncTask作爲一個單獨的類,並且我從一個Activity運行AsyncTask,那麼AsyncTask會持有對Activity的引用,就像它是後者的內部類一樣? 還是它解決了內存泄漏的問題?AsyncTask作爲一個單獨的類
此外,將包裹在WeakReference中的上下文傳遞給AsyncTask會做出什麼改變?
你可以使用這樣並獲得活動
public class DeleteUserTask extends AsyncTask<String, String, String> {
private Context context;
private JSONObject Object, Object1;
public static String Success, Exception;
public static boolean isClick;
public DeleteUserTask(Context ctx) {
context = ctx;
}
@Override
protected void onPreExecute() {
OrganizationUser_EditProfileScreen.pb.setVisibility(View.VISIBLE);
}
@Override
protected String doInBackground(String... params) {
try {
ActivityBase.result = null;
Log.e("", "Request-->" + writeJSON().toString());
ActivityBase.PostMethod(context,
WebServiceLinks.UserStatusButtonTask, writeJSON());
Object = new JSONObject(ActivityBase.result);
Object1 = Object
.getJSONObject("OrganizationUserProfileButtonUpdateResult");
Success = Object1.getString("Success");
Exception = Object1.getString("Exception");
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String result) {
try {
OrganizationUser_EditProfileScreen.pb.setVisibility(View.GONE);
if (ActivityBase.result != null && Success == "true") {
ActivityBase
.GeneralDialog(R.string.account, Exception, context);
}
} catch (Exception e) {
e.printStackTrace();
}
}
public JSONObject writeJSON() {
JSONObject object = new JSONObject();
try {
object.put("OrgID", OrganizationLoginTask.OrgID);
object.put("OrgUserID", Search_Screen.OrgUserID);
object.put("Status", OrganizationUser_EditProfileScreen.Status);
object.put("ModifiedByTypeCode", "2");
object.put("ModifiedSourceCode", "8");
} catch (Exception e) {
e.printStackTrace();
}
return object;
}
}
我很抱歉,但又是如何解決內存泄漏問題? – BVtp
的refrense是的,它會通過傳遞活動,類似於內部類的'context'保持參照活動。 – Arshak
以及你傳遞的包裹在WeakReference中的上下文是什麼? – BVtp
爲了避免內存泄漏,請在WeakReference中包裝上下文。 –