十三年专注于网站建设与互联网应用开发,低调、有情怀的网络应用服务商!
南昌百恒科技微信公众号 扫一扫关注
tel-icon全国服务热线:400-680-9298,0791-88117053
扫一扫关注百恒科技微信公众号

android项目中activity的使用与管理

百恒 2017-04-19 17:42:08 3638
       来看看当我们在各activity间往返的时候,操作系统层面到底发生了什么。首先,在桌面启动器中点击GeoQuiz应用时,操作系统并没有启动应用,而只是启动了应用中的一个activity。确切地说,它启动了应用的launcher activity。在GeoQuiz应用中,QuizActivity就是它的launcheractivity。
       使用应用向导创建GeoQuiz应用以及QuizActivity时,QuizActivity默认被设置为launcher activity。配置文件中,QuizActivity声明的intent-filter元素节点下,可看到QuizActivity
       被指定为launcher activity,如下代码所示。
       代码清单 QuizActivity被指定为launcher activity(AndroidManifest.xml)
南昌APP开发
       QuizActivity实例出现在屏幕上后,用户可单击CHEAT!按钮。CheatActivity实例随之在QuizActivity实例上被启动。此时,它们都处于activity栈中,如下图所示。
       单击后退键,CheatActivity实例被弹出栈外,QuizActivity重新回到栈顶部,如上图所示。
       在CheatActivity中调用Activity.finish()方法同样可以将CheatActivity从栈里弹出。如运行GeoQuiz应用,在QuizActivity界面单击后退键,QuizActivity将从栈里弹出,我们将退回到GeoQuiz应用运行前的画面,如下图所示。
南昌APP开发
       如从桌面启动器启动GeoQuiz应用,在QuizActivity界面单击后退键,将退回到桌面启动器界面,如下图所示。
南昌APP开发
       在桌面启动器界面,点击后退键,将返回到桌面启动器启动前的系统界面。
       至此,可以看到,ActivityManager维护着一个非特定应用独享的回退栈。所有应用的activity都共享该回退栈。这也是将ActivityManager设计成操作系统级的activity管理器来负责启动应用activity的原因之一。不局限于单个应用,回退栈作为一个整体共享给操作系统及设备使用。
       南昌百恒网络专业从事南昌微信开发,南昌APP开发等服务,拥有十多年丰富经验,技术精湛,专业性强,服务周到,价格公正,欢迎广大新老客户朋友来电咨询,洽谈合作!
400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号

欢迎您的光顾,我们将竭诚为您服务×

售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售后服务 售后服务
 
备案专线 备案专线
 
售后服务 售后服务
 
×