Я нашел некоторый ответ о различии между onDestroy и финишем.Android onDestroy и финиш
Finish удалит активность из стека, но не освободит память и не будет вызывать OnDestroy каждый раз. onDestroy убьет активность и освободит память.
В моей ситуации: Имеются 2 вида деятельности. A - основное действие, а B - это действие с некоторым EditText для отправки данных на сервер с помощью Volley.
А -> В -> A
Когда я послал successfully.It данные будут запускать отделку(), чтобы убить Б. Б разрушается. Но я снова вызываю B, все данные все еще там (содержимое EditText). Это означает, что память не понятна.
Кто-нибудь сталкивался с этими проблемами? Есть мой код:
public void update(final Context context, final Map<String,String> data,final Activity activity){//pass B
RequestQueue queue = Volley.newRequestQueue(context);
String url = "http://xxxxxxxx";
StringRequest sr = new StringRequest(Request.Method.POST,url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
activity.finish();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
//mPostCommentResponse.requestEndedWithError(error);
}
}){
@Override
protected Map<String,String> getParams(){
Map<String,String> params = data;
//data.
//params.put("user",data.get(''));
return params;
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String,String> params = new HashMap<String, String>();
params.put("Content-Type","application/x-www-form-urlencoded");
return params;
}
};
queue.add(sr);
}
ОБНОВЛЕНО
активность B имеют ViewPager и 3 фрагмента с помощью FragmentStatePagerAdapter. Когда я нахожу финиш() B. Эти данные под фрагментами не будут очищены. Я могу видеть старые данные, когда снова запускаю активность B.
Как вы можете позвонить? – varunkr
Я поместил update() в класс справки, передал B в update(), когда я нажимаю кнопку. Поэтому я вызываю B.finish() после отправки данных –