B.原文的翻译
探索Activity的生命周期
每个运行在Android平台上的进程都被放置在一个堆栈中。当你在前台使用一个Activity,负责那个Activity的系统进程就被放置在堆栈顶部,而先前的那个进程(负责之前Activity的进程)就被降低了一个等级。这个概念是理解中的一个重点。Android系统试图尽量长久地保持程序的运行,但它不可能保持每一个进程都永远运行,因为系统的资源毕竟是有限的,所以当内存可用容量开始降低或CPU过于繁忙时系统会如何处理?当Android系统决定需要回收资源,它就会通过一系列步骤来消减进程和它们负责的Activity。Android系统决定哪个进程被清除基于简单的优先级关系。负责前台Activity的进程是最重要的。任何负责可见但不是前台Activity的进程排在后面。任何负责后台Activity的进程再排在后面。不负责任何Activity(或服务或广播接收)的进程也就是空进程,被排在最后。
在开发和调试尤其是进程优先级处理的时候一个非常有用的工具是adb,这个工具我们在第2章遇到过。通过使用命令adb shell dumpsys activity我们可以看到在Android设备或模拟器上的所有正运行进程的状态。这个命令会输出很多关于正运行进程的信息,包括包名、PID、前台或后台的现状、当前的优先级等其它更多信息。论文网
所有的Activity类都必须能够在任何时候被处理停止和关闭。记住,一个用户会随时改变他的意愿,可能是一个电话或一个短消息,用户就会跳出一个应用进入下一个应用。如果Activity的进程从前台隐入后台,它就有可能被回收,并且是否回收只取决于平台的算法,基于现有的资源和相对优先级考虑。 探索Activity的生命周期英文文献和中文翻译(2):http://www.youerw.com/fanyi/lunwen_40655.html