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);
给我自己的小网站打个小广告:程序员编程必备软件网 www.uhdesk.com
本文探讨了程序在后台运行时因资源回收导致的崩溃问题,并提供了两种解决方案:使用`onSaveInstanceState`保存参数以避免空Intent问题,以及在`onCreate`中添加异常处理机制来重启程序。
1384

被折叠的 条评论
为什么被折叠?



