android项目中activity的使用与管理

       来看看当我们在各activity间往返的时候,操作系统层面到底发生了什么。首先,在桌面启动

器中点击GeoQuiz应用时,操作系统并没有启动应用,而只是启动了应用中的一个activity。确切

地说,它启动了应用的launcher activity。在GeoQuiz应用中,QuizActivity就是它的launcher

activity。

       使用应用向导创建GeoQuiz应用以及QuizActivity时,QuizActivity默认被设置为launcher 

activity。配置文件中,QuizActivity声明的intent-filter元素节点下,可看到QuizActivity

       被指定为launcher activity,如下代码所示。

       代码清单 QuizActivity被指定为launcher activity(AndroidManifest.xml)

南昌APP开发

       QuizActivity实例出现在屏幕上后,用户可单击CHEAT!按钮。CheatActivity实例随之

在QuizActivity实例上被启动。此时,它们都处于activity栈中,如下图所示。

android项目中activity的使用与管理插图(1)

       单击后退键,CheatActivity实例被弹出栈外,QuizActivity重新回到栈顶部,如上图

所示。

       在CheatActivity中调用Activity.finish()方法同样可以将CheatActivity从栈里弹出。

如运行GeoQuiz应用,在QuizActivity界面单击后退键,QuizActivity将从栈里弹出,我

们将退回到GeoQuiz应用运行前的画面,如下图所示。

南昌APP开发

       如从桌面启动器启动GeoQuiz应用,在QuizActivity界面单击后退键,将退回到桌面启动器

界面,如下图所示。

南昌APP开发

       在桌面启动器界面,点击后退键,将返回到桌面启动器启动前的系统界面。

       至此,可以看到,ActivityManager维护着一个非特定应用独享的回退栈。所有应用的activity

都共享该回退栈。这也是将ActivityManager设计成操作系统级的activity管理器来负责启动应用

activity的原因之一。不局限于单个应用,回退栈作为一个整体共享给操作系统及设备使用。

南昌易速网络专业从事南昌微信开发,南昌APP开发等服务,拥有十多年丰富经验,技术精湛,专业性强,服务周到,价格公正,欢迎广大新老客户朋友来电咨询,洽谈合作!

提供全面的搜索引擎优化学习交流,专注网站优化和搜索引擎营销推广服务。用专业的SEO技术为企业网站提升关键词排名,让你的网站不仅满足用户体验还要适合搜索引擎优化规则。
易速网站优化公司 » android项目中activity的使用与管理
享更多特权,立即登录下载海量资源
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡