A. 如何判断 android被 系统回收
我觉得没有显式的判断方法。
Activity就像Java中的一个类,类可以实例化出很多个对象,但你无法判断该类所有的对象是否已经被内存回收了。
android中显式的调用finish()方法,或者隐身的(比如按“Back”键导致该activity被finish()掉),会导致该activity被回收。
B. 有关android回收对象的问题
你的t1和t2class对象虽然定义在Oncreate()函数外面,但是却是在函数里面实例化的。当你的程序初始化Activity之后(即调用完Oncreate()函数之后)便会释放大括号里面所有变量所占用的内存空间,而finalize()相当如充当回收函数第一个被调用,不过回收过程并不是我们理解的一经调用立马回收,而是系统等到回收的资源达到一定的数目时才统一回收。(以上仅属个人理解建议用debug单步调试看看)
C. android进程被系统回收(杀死)
Activity绑定Service,那么这个service的生命周期跟activity相关。会随着activity结束而结束。
绑定的service跟activity是同一个进程的。
如果service配置一个单独的进程,应该是通过startService来启动的,bindService不行吧?
系统资源不足时,会有一个策略来回收进程,优先级的回收顺序是 Empty process、Background process、Service process、Visible process、Foreground process。
参见www.cnblogs.com/bastard/archive/2012/08/17/2644169.html