0
了解android退出应用程序的原理
Android编程时遇到的一个奇怪的现象是,android没有“用户已关闭应用程序“这个事件。一个应用活动往往只是退出屏幕而仍然运行于后台,只要Android系统缺乏资源,系统可能随时会停止他们,即使应用程序的另一个活动仍然在前台运行。
你不能肯定一个活动开始后,然后被用户送到后台运行时它还能存储它们应有的状态。从普通的用户的角度来看,他们也不能确定在离开应用程序后,那个应用程序是否被完全摧毁。
为了使程序更加复杂,你甚至可以使用Intent(意图)启动另外一个应用程序的活动。
当你在开发android应用程序时,你必须清楚地理解这一点,否则,你将会犯一些典型的错误。如果有足够的内存,或电话呼叫不会中断您的应用程序,你的应用程序也许将会不停的工作着。
但是,当每个活动启动是,它都会自动获取或初始化它所需要的资源,即使它的调用程序是先前已获得一些同样资源的活动,因为在低内存的条件下,系统将会随机停止一些运行于后台的应用程序来释放资源。
一个普遍的现象就是,当你在一个活动(activity)的 onCreate() 里打开一个数据库连接来读取数据,然后在OnDestroy() 里关闭它,并且其他活动共享这个连接。当你只是按主页键退出这个程序后再回来,你也许有时候会发现这个数据库的连接已经被系统关闭。
如果你想更深入的了解这个现象,我们推荐你仔细阅读android活动的生命周期。
