我的程序中有一个功能,是从服务器下载一个apk文件,然后调用startActivity安装。
安装完成后返回到我的程序时,发现程序被退出重新打开了。
有些手机提示是内存不够,被系统释放掉了。
但有些内存很大的手机也会被退出,没有什么提示的,比如g18,剩余ram还有150兆,我的程序占用十几兆,应该不是内存不够引起的。
而有些手机从来没出现过被退出的情况,都是正常运行的。
请问怎么能够保证程序在后台不被退出。

解决方案 »

  1.   

    你的Activity被系统kill之前会调用onSaveInstanceState(Bundle outState),再此方法中保存当前数据,然后再onCreate(Bundle savedInstanceState)判断如果savedInstanceState!=null来还原之前的数据即可。
      

  2.   

    手机内存多 但是java和c++的内存区是相互独立的
    可能java的内存已经没了 但是c++的还是很多 这时候你的java做内存申请还是失败的
      

  3.   

    我觉得有些手机和内存相关,有些手机和内存没关系
    比如有些手机内存比较小的也没出现过退出的情况
    有些手机内存比较大的反而退出了
    有些手机退出的时候logcat会有内存不够的提示
    但像g18 i9000这种退出就不会有提示内存不够
    不知道android对一个程序有没有内存试用限制
    像symbian就有对每个程序都有内存试用限制的