解决方案 »

  1.   

    “我有在全局保存一个ArrayList<Activity>的栈信息,我应用恢复也必须要恢复栈list”
    這個做法是錯誤的,Activity由系統控制,你只需要保存你要的數據而不是activity,在啓動的時候讀出數據就行了,
      

  2.   


    我保存Activity栈的目的是在退出的时候需要让所有的存在的Activity调用一次finish(),不然应用关不干净。如果我在进程被杀死的时候没有恢复之前的保存在list中的Activity栈话,那在android中原来打开的栈还在,我们保存的栈信息都丢失了,这时退出调用finshAll(),就不会清除所有存在的栈,应用退不干净。       我又不想用广播的方式让Activity退出,因为后面我们可能涉及第三方应用接入的东西,需要保证Activity顺序退出
      

  3.   


    我保存Activity栈的目的是在退出的时候需要让所有的存在的Activity调用一次finish(),不然应用关不干净。如果我在进程被杀死的时候没有恢复之前的保存在list中的Activity栈话,那在android中原来打开的栈还在,我们保存的栈信息都丢失了,这时退出调用finshAll(),就不会清除所有存在的栈,应用退不干净。       我又不想用广播的方式让Activity退出,因为后面我们可能涉及第三方应用接入的东西,需要保证Activity顺序退出你直接在destory里面做吧 不过如果是后台走的low memory kill 和系统GC
    估计你是怎么都找不回来了
    建议在每次启动的时候去检测 或者在数据update的时候写到文件里面或者用系统的sharepreference
      

  4.   


    我保存Activity栈的目的是在退出的时候需要让所有的存在的Activity调用一次finish(),不然应用关不干净。如果我在进程被杀死的时候没有恢复之前的保存在list中的Activity栈话,那在android中原来打开的栈还在,我们保存的栈信息都丢失了,这时退出调用finshAll(),就不会清除所有存在的栈,应用退不干净。       我又不想用广播的方式让Activity退出,因为后面我们可能涉及第三方应用接入的东西,需要保证Activity顺序退出你直接在destory里面做吧 不过如果是后台走的low memory kill 和系统GC
    估计你是怎么都找不回来了
    建议在每次启动的时候去检测 或者在数据update的时候写到文件里面或者用系统的sharepreference
    onDestroy()肯定是不行的,onSaveInstance()就是为意外进程中止设计的。  数据写在文件系统也不合理,这些用户信息的敏感数据是不可能保存起来的。   
      

  5.   

    shareperence保存在本地,,,,