如上,这都是一些很直接的需求。通过使用Android提供的构件,你可以轻松地将以上需求分解成各个概念性的单元,从而单独实现它们,然后再将它们拼起来形成一个完整的包。
活动(Activity)
一个活动(activity),通常是用户在某一时刻,存设备上看到的单独界面。一个应用程序通常含有多个活动,用户可在其间进行切换。对用户而言,这就是程序的外观部分。我通常使用网站来比喻活动。就像一个含有多个网页的网站一样,Android程序也包含多个活动。如同网站有一个“主页”一样,Android程序也有一个“主活动”(mainactivity)——通常是启动程序时显示的第一个界面。为了方便用户在多个页面之间跳转,网站会提供导航功能,Android程序也应该有同样的功能。
在网络上,你可以从某网站的一个页面跳转到另一个网站的页面。类似地,在Android中,你可以在一个应用程序中查看某个活动,随后又可以启动另一个完全独立的应用程序中的其他活动。例如,在联系人应用程序中,你选择向某个朋友发送信息,然后就会启动短信息应用程序的活动,供你书写短信息。
活动的生命周期
启动一个活动可能会消耗大量资源。它可能会涉及新建一个Linux进程、为UI对象申请内存空间、从XML布局填充所有对象,以及创建整个界向。既然我们在启动一个活动上花费了这么多工夫,一旦用户离开该界面,如果只是将它销毁那就实在太浪费了。为了避免这种浪费,Android通过活动管理器(Activity Manager)来管理活动的生命周期。
活动管理器负责创建、销毁和管理活动。例如,当用户第一次启动了一个应用程序,活动管理器会创建它的活动,并将活动显示到界面上。随后,当用户切换界面时,活动管理器会将之前这个活动移动到其他地方。这样,如果用户想退回到之前的活动,就可以更加快速地启动这个活动。用户不再使用的旧活动,过一段时候后会被销毁,以便为当前活动释放更多的空间。这个机制可以帮助提高用户界面的速度,并改进整个用户体验。
……