[发明专利]活动组件的管理方法及装置在审
申请号: | 201310596595.7 | 申请日: | 2013-11-22 |
公开(公告)号: | CN103617078A | 公开(公告)日: | 2014-03-05 |
发明(设计)人: | 庄庆;王鑫 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京华沛德权律师事务所 11302 | 代理人: | 刘杰 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 活动 组件 管理 方法 装置 | ||
技术领域
本发明涉及计算机技术领域,具体涉及一种活动组件的管理方法及装置。
背景技术
活动(Activity)组件是android程序的表现层。笼统的说,程序的每一个页面,都可能是一个activity。正在运行的activity处在栈的最顶端,它是运行状态的。当有新的activity进入屏幕最上端的时候,原来的activity就会被压入第二层。不管处在哪一层,都有可能在资源不足的情况下被系统回收。而系统的这个回收过程有时候会导致系统的不稳定,或者出现卡顿现象。
参见图1,示出了activity在栈中的状态,其中,越靠近下面的activity越容易被系统回收。当然程序的运行是少不了activity的。虽然系统也提供了自动回收机制,但是activity的回收本身就是一个耗费资源的过程,那么在低内存的同时进行,会更加影响设备的性能。
在balackBerry(黑莓)手机中,提供了一个管理screen的栈,用来从任何地方来关闭位于最上层的screen,使用UiApplicationg.getUiApplication().getActiveScreen()来得到位于最上一层的Screen的实例,并且使用UiApplicationg.getUiApplication().popScreen()来关闭一个screen或关闭当前最上一层的screen。但是android却未提供相应功能,只能在一个activity的对象里调用finish来关闭自己,不能关闭其他的activity。比如想实现一个功能从屏幕A→屏幕B→屏幕C→屏幕D,然后在转到屏幕D之前将屏幕B和C关闭,在屏幕B和屏幕C界面点击回退按钮都可以回到上一个屏幕,但是在屏幕D上点击回退让其回到A,此处在一些循环跳转的界面上如果不在合适的地方将一些不需要的屏幕关闭,那么经过多次跳转后导致内存溢出。对此,常用的方法是对设计进行改变,如果实在更改不了设计,有的做法是设计一个全局的Activity栈,使用这个栈来管理activity。原理上是通过不断获取监控栈中activity的实例来实现管理的目的。
上面的方法虽然在一定程度上解决了activity的管理问题,但是需要通过不断的监控栈来实现,对于设计复杂的软件使用起来特别复杂。而一个程序需要多个activity来实现,这样,就增加了程序开发的成本;同时,这样做对程序的内存占用没有什么帮助。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的活动组件的管理方法及装置。
依据本发明的一个方面,提供一种活动组件的管理方法,用于对智能终端操作系统的应用程序所启动的多个活动进行管理,所述操作系统包括系统框架层和应用程序层,所述方法包括:所述应用程序采用活动组作为程序运行的框架基础;所述应用程序层获取系统框架层的标签集系统组件,所述应用程序利用所述标签集系统组件,将多个活动绑定到一个页面中;在所述应用程序执行活动切换时,利用所述活动组销毁切换前的活动。
可选的,所述应用程序执行活动切换是指:除了当前活动,所述应用程序启动新的活动或者从后台调起另一个活动。
可选的,所述销毁切换前的活动包括:查询出切换前的活动的id;以及,销毁所述id对应的活动。
可选的,所述查询出切换前的活动的id包括:通过执行标签集的查询当前活动标签操作,确定所述切换前的活动的id。
可选的,所述销毁所述id对应的活动包括:利用所述活动组的私有变量提供的销毁活动接口来销毁所述id对应的活动。
可选的,所述方法还包括:利用所述活动组中的私有变量查询出所述应用程序启动的活动的数量;以及,如果所述启动的活动的数量大于或等于2,则将当前运行的活动之外的活动进行销毁。
可选的,在销毁切换前的活动之前,所述方法还包括:判断所述切换前的活动是否包含重要数据,如果是,保存所述数据。
可选的,所述操作系统是指android操作系统。
依据本发明的另一个方面,提供一种一种活动组件的管理装置,用于对智能终端操作系统的应用程序所启动的多个活动进行管理,所述操作系统包括系统框架层和应用程序层,所述装置包括:框架运行单元,用于使所述应用程序采用活动组作为程序运行的框架基础;绑定单元,用于使所述应用程序层获取系统框架层的标签集系统组件,并使所述应用程序利用所述标签集系统组件,将多个活动绑定到一个页面中;管理单元,用于在所述应用程序执行活动切换时,利用所述活动组销毁切换前的活动。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310596595.7/2.html,转载请声明来源钻瓜专利网。