活动就会被杀死从相机后返回(Activity gets killed after returned

2019-10-18 15:54发布

在我的应用我调用系统相机拍照,然后处理结果onActivityResult。 它用于工作,但现在我的呼唤活动得到有时也有阵亡,有时它的工作原理well.I需要大画面,所以我必须用intent.putExtra(MediaStore.EXTRA_OUTPUT, output) ,如果没有这个(就像使用意向数据得到一个位图),它工作正常。 采取经过事先知情同意,并在的onclick“确定”按钮,我需要它返回到启动相机的活动,但有时它工作正常,有时父活动结束。 搜索之后,我设置android:alwaysRetainTaskState="true" ,但这不能正常工作。 我的系统是Galaxy S的I9000,我还考这对其他手机,但它工作得很好。 有没有人知道为什么吗? 这里是我的代码

  private void startTakePhoto(){
    App.fileNameWithPath = Environment.getExternalStorageDirectory().getAbsolutePath()+ File.separator + System.currentTimeMillis()+".jpg";
    File file = new File(App.fileNameWithPath);
    Uri output = Uri.fromFile(file);
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, output);
    boolean flag = BaseUtil.hasImageCaptureBug();
    System.out.println(flag);
    //intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(fileNameWithPath)));
    //BaseUtil.saveImagePath(App.fileNameWithPath, this);
    startActivityForResult(intent, REQUEST_TAKE_PHOTO);
}
It like this :
I want is 
1. A  start B (stack: A,B)
2. B start camera activity and wait For Result (stack:A,B,camera) 
3. save picture,return B activity (stack: A,B)

but on step 3, it not return to B,but A.
It seems like B is finished by the system, why?

Answer 1:

http://developer.android.com/reference/android/app/Activity.html原因是Android中因为内存menagement。 我知道你的手机拥有约100MB可用内存工作,如果你的活动是不是在前台可以销毁。 所以这就是为什么你要实现你一些方法活动启动它的onPause,的onDestroy和恢复方法。 只需保存你所有的信息捆绑和propelly开始活动。



文章来源: Activity gets killed after returned from the camera