[发明专利]一种检测Android应用Service构件泄露的高效方法有效

专利信息
申请号: 201710790636.4 申请日: 2017-09-05
公开(公告)号: CN107590013B 公开(公告)日: 2020-12-04
发明(设计)人: 马骏;陶先平;吕建 申请(专利权)人: 南京大学
主分类号: G06F11/07 分类号: G06F11/07;G06F11/36
代理公司: 南京知识律师事务所 32207 代理人: 张苏沛
地址: 210046 江苏*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 检测 android 应用 service 构件 泄露 高效 方法
【说明书】:

本发明提供了快速检测安卓应用潜在的Service构件泄露的方法。其特征在于,包括以下步骤:步骤1、重复尝试“启动(start)并停止(stop)”以及“绑定(bind)并解绑(unbind)”应用在其AndroidManifest.xml文件中所声明的各个service;步骤2、获取应用堆栈内存;步骤3、分析应用堆栈内存,鉴别泄露的Service构件。本发明的能准确的检测安卓应用潜在的Service构件泄露风险,具有全自动、效率高、可重现等特征。

技术领域

本发明专利涉及安卓软件应用,内存泄露检测领域,尤其涉及一种检测安卓应用Service构件泄露的高效方法。

背景技术

近年来,随着移动设备的普及,基于移动设备的安卓应用数量不断增加。然而,由于安卓复杂的生命周期管理机制,开发安卓应用极容易引入泄露Service构件的可能性。这些潜在的应用构件的泄露,会不断消耗系统内存等资源,导致应用卡顿甚至崩溃,极大的影响用户体验和商家品牌形象。为此,如何自动化高效的检测应用潜在的Service构件的泄露,有着极大的意义。然而,现有检测安卓应用Service泄露的工作要么需要大量的人工介入,要么难以重现泄露场景。为此,本发明旨在为安卓应用潜在的Service构件的泄露现象的自动化检测提供一个快速检测方案。

发明内容

本发明主要针对现有工作的不足,提出了一种检测Android应用Service构件泄露的高效方法。

该方法基于以下现实:安卓应用往往包含一系列的Service,这些Service中部分仅仅供应用内部使用(“android:exported=false”),还有一部分可供本应用之外的其他应用的各种构件所使用(“android:exported=true”);对于“android:exported=true”的Service,其他应用的构件可以通过startService()或bindService()两个API来访问该应用;通常情况下,两种方式都会创建Service实例;当不需要使用该服务的时候,应用构件可以通过stopService()或unbindService()两个方法来停止服务或解除对服务的绑定。当一个Service实例被停止并且没有其他构件绑定该服务的时候,系统则会自动销毁该Service实例;安卓系统为了管理应用的Service实例,在应用对应的ActivityThread实例中提供了专门用于记录处于运行态的服务的域mServices;当一个Service实例被创建,则会在mServices域中添加对该实例的间接引用,当一个Service实例被销毁,mServices域也会自动删除相应的引用关系。通过对mServices域值的比较,可以判断Service实例是否已被销毁;不能被GC回收的Service实例,一定存在通往GC root的不包含SoftReference、WeakReference、PhantomReference、FinalizerReference以及Finalizer类型对象的路径。

为了实现上述发明目的,本发明采用的技术方案为:

一种安卓应用Service构件泄露的高效检测方法,其特征在于,分为主程序(Master)与客户端检测应用(APKchecker)两部分。主程序(Master)运行在PC端,客户端检测应用(APKchecker)运行在测试安卓设备(安卓实体机或虚拟机)上。其主要步骤包括:

步骤一、主程序(Master)借助Android-Debug-Bridge(ADB)安装待检测应用APKtarget

步骤二、主程序(Master)借助Android-Debug-Bridge(ADB)安装客户端检测应用(APKchecker);

步骤三、主程序(Master)以“Start模式”启动客户端检测应用(APKchecker);

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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