[发明专利]Applet托管对象的方法无效

专利信息
申请号: 200910045926.1 申请日: 2009-01-22
公开(公告)号: CN101788905A 公开(公告)日: 2010-07-28
发明(设计)人: 宋世军;陈榕 申请(专利权)人: 上海科泰世纪科技有限公司
主分类号: G06F9/44 分类号: G06F9/44;G06F9/46
代理公司: 暂无信息 代理人: 暂无信息
地址: 201203 上海市张江高*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: applet 托管 对象 方法
【说明书】:

技术领域

发明是关于一种在计算机构件编程时托管对象的方法,尤其是指在通过Applet线程模型托管对象的方法。

背景技术

Elastos平台上进行CAR构件编程时,通过引用计数管理对象的生命周期,当不再使用一个对象时,要通过调用Release方法释放对对象的引用。但有的时候所使用的对象的生命周期要比当前线程还要长,可能在整个Applet的运行过程中都需要访问它,但又只在Applet内部使用,并且当Applet结束以后就不再需要它。如果创建这个对象的线程是Applet的主线程(Main),那么可以利用“线程托管对象”的方式将对象托管到Main线程上,因为Main线程的生命周期与Applet一样,可以保证该对象一直有效。但如果只是在一个普通线程上创建的对象,这时就比较麻烦,可以将这个对象的指针传递给Main线程,由其代为管理,或者注册Applet结束事件的回调函数,在回调函数中清理这个对象。但这些手段对用户来说都比较繁琐,如果要托管的对象很多,又可能由不同线程或者代码,甚至第三方的代码来创建的等等,都会带来操作复杂、很容易出错。

发明内容

鉴于以上内容,有必要提供一种Applet托管对象的方法。

该Applet托管对象的方法包括步骤:在Applet的主线程上创建一个类对象;在该类对象上实现一个托管对象链表;当Applet创建一个新对象时,将该新对象托管到该创建它的Applet的主线程上;根据该Applet的句柄将该新对象的指针插入到该托管对象链表;当Applet运行结束时,释放该类对象,进入该类对象的析构函数;在该类对象的析构函数里遍历该托管对象链表,并调用所有被托管对象的Release方法。

本发明Applet托管对象的方法提供一个托管API(应用编程接口),用户可以通过该托管API将对象托管给创建该对象的Applet,当Applet结束退出时自动调用这个对象的Release方法。利用该方式,用户不必担心对象会被提前释放,也不必实现任何多余的代码,只需要调用API托管对象即可,具有使用方便、代码清晰简洁、提高程序稳定性的优点。

附图说明

图1是本发明较佳实施例的Applet托管对象的方法的流程图。

图2是本发明Applet Main线程和类对象CAutoRelease及托管对象链表之间的关系示意图。

具体实施方式

如图1所示,是本发明较佳实施例的Applet托管对象的方法的流程图。

步骤S200,在Applet的主线程(Main)上创建一个类对象CAutoRelease,并在该Applet上保留该类对象CAutoRelease的对象指针。该类对象CAutoRelease用于管理被托管的对象。

步骤S202,在这个创建的类对象CAutoRelease上实现一个托管对象链表。

参照图2所示,其中Main1是Applet的主线程,类对象CAutoRelease10是在该Main1上创建的用于管理被托管对象的一个类对象CAutoRelease,托管对象链表11是在该类对象CAutoRelease上实现的一个托管对象链表。

例如用下面一段程序代码(AA)实现上述功能:

Class CAutoRelease//用于管理被托管的对象

{……}

Applet TFoo{

    Public:

        CAutoRelease  *m_pAutoRelease;//在Applet上保留一个

CAutoRelease的对象指针

    }

    TFoo::AppletRoutine(…)//Applet的Main线程

    {

        m_pAuRelease=new CAutoRelease;//在Applet主线程上创建

一个CAutoRelease对象

        ……;//执行Applet的其它操作直到准备退出Applet

        delete m_pAutoRelease;//准备退出Applet,清理托管对象

        ……

    }

通过上述步骤S200和S202,本发明实现了Applet线程上的托管API(Application Programming Interface,应用编程接口)。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海科泰世纪科技有限公司,未经上海科泰世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200910045926.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top