各位大虾:
    小弟在做一个视频录制的小例子,主界面就是预览摄像的RecordActivity,现在我从menu中跳到SetupActivity后(已覆盖前面的RecordActivity),这时候按下返回键直接退出了程序,而不是返回到RecordActivity
    观察RecordActivity的生命周期,发现从RecordActivity ----> SetupActivity过程中执行了如下方法:
  onPause ---> onStop ---> onDestory  ,而且在onPause方法时调用 isFinishing() 为true
如此看来,RecordActivity在被覆盖时就执行finish()方法了,但是我的代码中并没有显示调用过该方法,而起系统内存足够,不会是系统不足的问题,小弟猜想是不是摄像过程中用到了Camera,预览界面被覆盖后,触发了什么事件,才会导致这种情况。
   真心求教各位大虾解答!!!

解决方案 »

  1.   

    这个其实跟startActivity的参数配置也有关系,有些配置是在打开新的activity后会关闭之前的activity的
    另外,manifest中activity的配置也会影响到
      

  2.   

    自动调用finish(),如果不是人为的话(清单文件配置,代码中执行finish),唯一的可能就是系统不够内存用了。。当系统不够内存用的时候,会按一定优先级杀死一些进程神马的。
      

  3.   

    看一下你2个activity的taskid是不是一样。有可能跟你的启动模式有关
    当2个页面处在不同的taskid下时,a--〉b b按返回就会退出而不返回到a