- home键等原因,程序会变为后台程序,系统会更具需要,可能回收资源,再打开时候,就会因为资源回收,再调用oncreate,没有Intent参数而导致程序崩溃。
- 这种情况,我们可以处理的方式有两种,一是用:
- @Override
- protected void onSaveInstanceState(Bundle outState) {
- // TODO Auto-generated method stub
- super.onSaveInstanceState(outState);
- }保存参数,这样下次启动时候,发现Intent中的资源=null的时候,直接用保存的参数。
- 还有一种处理方式,就是在onCreate中添加异常处理。
- 遇到异常的时候,就重启程序。
- 重启android程序代码:
- Intent i = getBaseContext().getPackageManager()
- .getLaunchIntentForPackage(getBaseContext().getPackageName());
- i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- startActivity(i);