现象:
Activity 在 onCreate 时候,发送异步 http 请求。Http 请求会回调三种方法:onStart,onFinish,onCancel。
我在 onStart 中弹出Dialog,Dialog需要参数 Context,于是用当前 Activity。
但是,App退出,再次打开,于是崩溃了!
分析原因:
查看日志,分析原因,是这样的:
1、App退出时候,应没有完全退出,即使调用Activity.finish( ); 因为重新启动App时候,自定义的 Application 没有执行。
解决办法:退出App时候,调用 System.exit(0);
但是,使用 System.exit(0); 退出App,重新启动时候,自定义的 Application 也没有执行,
那么,我对 System.exit(0); 的理解有误区,抽空需要自己追究一下。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
// Dialog dialog = new MyDialog(this, R.style.MyDialog,this);
// dialog.show();
Loger.d(this.getClass(), "执行 onFinish");
//this.finish();
System.exit(0);
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public void onStart(String threadName) {
CustomizeProgressDialog.showProgressDialog(this);
}
@Override
public void onFinish(boolean success, String respond, String threadName) {
Loger.d(TAG, "onFinish threadName="+threadName);
CustomizeProgressDialog.dismissProgressDialog();