应用的功能扩展方法、装置、终端设备和存储介质制造方法及图纸

技术编号:21431420 阅读:26 留言:0更新日期:2019-06-22 11:42
本申请实施例提供了一种应用的功能扩展方法、装置、终端设备和存储介质,以实现在应用中扩展功能。所述的方法包括:在应用运行过程中,建立存储在第一地址的目标方法和存储在第二地址的替换方法;交换所述目标方法和替换方法的存储地址,并建立存储在第二地址的目标方法和存储在第一地址的替换方法之间的对应关系;执行所述第一地址的替换方法,并依据所述替换方法回调第二地址的目标方法,执行所述目标方法。扩展的替换方法不影响目标方法的正常执行,从而能够实现对应用功能的扩展,具有较好的扩展性和灵活性。

【技术实现步骤摘要】
应用的功能扩展方法、装置、终端设备和存储介质
本申请涉及计算机
,特别是涉及一种应用的功能扩展方法、一种应用的功能扩展装置、一种终端设备和一种存储介质。
技术介绍
AOP(AspectOrientedProgramming,面向切面编程技术)是可通过预编译和运行期动态代理的方式,实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。针对AndroidArt虚拟机,现有的AOP方式通常是在编译时插入字节码,如AspectJ,执行的方法是把aspect类(即AOP的切面类)和目标类(被AOP的类)放在一起用,用特殊的编译器进行编译。具体的,可编写目标类;创建PointCut(切入点),该切入点可确定在何处注入一段特定代码的表达式,例如,在哪些jointpoints(连接点)应用一个特定的Advice(代码);编写Advice,即需要注入到.class文件的代码;然后可执行指令,依据切入点执行织入过程,即注入代码(advices)到目标位置(jointp本文档来自技高网...

【技术保护点】
1.一种应用的功能扩展方法,其特征在于,包括:在应用运行过程中,建立存储在第一地址的目标方法和存储在第二地址的替换方法;交换所述目标方法和替换方法的存储地址,并建立存储在第二地址的目标方法和存储在第一地址的替换方法之间的对应关系;执行所述第一地址的替换方法,并依据所述替换方法回调第二地址的目标方法,执行所述目标方法。

【技术特征摘要】
1.一种应用的功能扩展方法,其特征在于,包括:在应用运行过程中,建立存储在第一地址的目标方法和存储在第二地址的替换方法;交换所述目标方法和替换方法的存储地址,并建立存储在第二地址的目标方法和存储在第一地址的替换方法之间的对应关系;执行所述第一地址的替换方法,并依据所述替换方法回调第二地址的目标方法,执行所述目标方法。2.根据权利要求1所述的方法,其特征在于,交换所述目标方法和替换方法的存储地址,包括:创建存储目标方法的第三地址,将所述第一地址的目标方法复制到所述第三地址,将所述第二地址的替换方法复制到所述第一地址,将所述第三地址的目标方法复制到所述第二地址,删除所述第三地址中的目标方法。3.根据权利要求2所述的方法,其特征在于,所述创建存储目标方法的第三地址,将所述第一地址的目标方法复制到所述第三地址,将所述第二地址的替换方法复制到所述第一地址,将所述第三地址的目标方法复制到所述第二地址,包括:通过接口查询目标方法,确定存储所述目标方法的第一地址;通过接口查询替换方法,确定存储所述替换方法的第二地址;向内存申请地址空间,确定所述地址空间对应的第三地址;复制所述目标方法,并将复制的目标方法存储到所述第三地址的地址空间中;将第二地址的替换方法复制到第一地址,将第三地址的目标方法复制到第二地址。4.根据权利要求1所述的方法,其特征在于,所述建立存储在第二地址的目标方法和存储在第一地址的替换方法之间的对应关系,包括:将所述存储替换方法的第一地址作为查询键,将所述存储目标方法的第二地址作为查询值,建立所述查询键和查询值的对应关系。5.根据权利要求4所述的方法,其特征在于,所述执行所述第一地址的替换方法,并依据所述替换方法回调第二地址的目标方法,执行所述目标方法,包括:从所述第一地址中获取替换方法,执行所述替换方法;基于所述替换方法的第一地址和所述对应关系,通过接口回调存储在第二地址的目标方法;执行所述目标方法。6.根据权利要求5所述的方法,其特征在于,所述基于替换方法的第一地址和所述对应关系,通过接口回调存储在第二地址的目标方法,包括:通过调用接口,确定所述替换方法所在...

【专利技术属性】
技术研发人员:秦静超
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1