我正在构建一个适用于我的Nexus 7的应用程序,没有任何问题,也在我的Galaxy S2上。现在我已经在Galaxy S3上测试了它,但不知何故,内存管理更加激进。如果我按下主页按钮并等待几分钟,OnCreate会再次被调用,所以我认为该过程已经被杀死。但是如果进程被杀死,对于这个特定的应用程序,我希望它开始另一个活动。
我可以使用覆盖onStop和onPause,但这会导致一些不必要的行为,查看Activity Lifecycle。如果该过程没有被杀死,则可以返回活动。
有解决方法吗?
答案 0 :(得分:2)
如果系统确定需要释放一些资源,按主页按钮可以销毁您的活动。
这可能是因为活动正在完成(有人称为finish(),或者因为系统暂时销毁此活动实例以节省空间。您可以使用isFinishing()方法区分这两种情况
答案 1 :(得分:1)
您可以在savedInstanceState
中使用onCreate
,如下所示:
if( savedInstanceState != null ) {
//Toast.makeText(this, savedInstanceState.getString("message")+"--> ", Toast.LENGTH_LONG).show();
Intent intent = new Intent(First.this, Second.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
return;
}