内存泄露检测装置及方法、终端的制作方法_3

文档序号:9452997阅读:来源:国知局
址(FDMA)、时分多址(TDMA)、码分多址(CDMA)和通用移动通信装置(UMTS)(特别地,长期演进(LTE))、全球移动通信装置(GSM)等等。作为非限制性示例,下面的描述涉及CDMA通信装置,但是这样的教导同样适用于其它类型的装置。
[0070]参考图2,CDMA无线通信装置可以包括多个移动终端100、多个基站(BS) 270、基站控制器(BSC) 275和移动交换中心(MSC) 280。MSC280被构造为与公共电话交换网络(PSTN) 290形成接口。MSC280还被构造为与可以经由回程线路耦接到基站270的BSC275形成接口。回程线路可以根据若干己知的接口中的任一种来构造,所述接口包括例如E1/T1、ATM,IP、PPP、帧中继、HDSL、ADSL或xDSL。将理解的是,如图2中所示的装置可以包括多个BSC2750。
[0071]每个BS270可以服务一个或多个分区(或区域),由多向天线或指向特定方向的天线覆盖的每个分区放射状地远离BS270。或者,每个分区可以由用于分集接收的两个或更多天线覆盖。每个BS270可以被构造为支持多个频率分配,并且每个频率分配具有特定频谱(例如,1.25MHz,5MHz 等等)。
[0072]分区与频率分配的交叉可以被称为CDMA信道。BS270也可以被称为基站收发器子装置(BTS)或者其它等效术语。在这样的情况下,术语〃基站〃可以用于笼统地表示单个BSC275和至少一个BS270。基站也可以被称为〃蜂窝站〃。或者,特定BS270的各分区可以被称为多个蜂窝站。
[0073]如图2中所示,广播发射器(BT) 295将广播信号发送给在装置内操作的移动终端100如图1中所示的广播接收模块111被设置在移动终端100处以接收由BT295发送的广播信号。在图2中,示出了几个全球定位装置(GPS)卫星300。卫星300帮助定位多个移动终端100中的至少一个。
[0074]在图2中,描绘了多个卫星300,但是可以理解的是,可以利用任何数目的卫星获得有用的定位信息。如图1中所示的GPS模块115通常被构造为与卫星300配合以获得想要的定位信息。替代GPS跟踪技术或者在GPS跟踪技术之外,可以使用可以跟踪移动终端的位置的其它技术。另外,至少一个GPS卫星300可以选择性地或者额外地处理卫星DMB传输。
[0075]作为无线通信装置的一个典型操作,BS270接收来自各种移动终端100的反向链路信号。移动终端100通常参与通话、消息收发和其它类型的通信。特定基站270接收的每个反向链路信号被在特定BS270内进行处理。获得的数据被转发给相关的BSC275。BSC提供通话资源分配和包括BS270之间的软切换过程的协调的移动管理功能。BSC275还将接收到的数据路由到MSC280,其提供用于与PSTN290形成接口的额外的路由服务。类似地,PSTN290与MSC280形成接口,MSC与BSC275形成接口,并且BSC275相应地控制BS270以将正向链路信号发送到移动终端100。
[0076]基于上述移动终端硬件结构、通信装置的结构,提出本发明内存泄露检测装置各个实施例。
[0077]参照图3,图3为本发明内存泄露检测装置的第一实施例的结构示意图,该装置包括:
[0078]采集模块10,用于采集被测进程的内存采样信息,所述内存采样信息包括采样时间、被测进程在所述采样时间对应的内存占用值;
[0079]生成模块11,用于生成所述被测进程的内存占用值的变化趋势;
[0080]检测模块12,用于根据所述被测进程的内存占用值的变化趋势,判断所述被测进程是否存在内存泄露。
[0081]该被测进程所在的终端可为智能手机、平板电脑等,该被测进程所在的终端的操作系统可为安卓系统,在本发明中,以该被测进程所在的终端为安卓手机为例。
[0082]该被测进程可以有一个或多个,如该被测进程为微信应用进程、微博应用进程、浏览器应用进程等进程中的一个或多个。
[0083]该被测进程在正常运行时,用户通过该被测进程执行各种操作,如当该被测进程为微信应用进程时,用户通过该微信应用进程进行聊天(语音聊天、文字聊天、视频聊天)、发朋友圈、创建/删除联系人等。
[0084]该采集模块10采集被测进程的内存采样信息,具体的,可按照预设时间间隔定时采集被测进程的内存采样信息,如每隔十秒采集一次被测进程的内存采样信息,则在十分钟内得到60个内存采样信息。
[0085]在一实施例中,该被测进程只有一个,如该被测进程为微信应用进程,则该采集模块10采集该微信应用进程的内存采样信息,如每隔十秒钟采集一次微信的进程的内存采样信息,则在十分钟内得到60个内存采样信息。
[0086]在另一实施例中,该被测进程有多个,如该被测进程包括微信应用进程和微博应用进程,则该采集模块10分别采集该微信应用进程和微博应用进程的多个内存采样数据,如每隔十秒钟采集一次微信应用进程和微博应用进程的内存采样信息,则在十分钟内分别得到微信应用进程的60个内存采样信息和微博应用进程的60个内存采样信息。
[0087]该内存采样信息包括采样时间、被测进程在该采样时间对应的内存占用值,即该采集模块10记录采样时间和被测进程在该采样时间对应的内存占用值;该内存占用值为TOTAL的Prviate dirty值,如图4所示,表示一被测进程在某一时刻所消耗的内存情况,该内存占用值为15624(对应第2列第12行的数值)。
[0088]该生成模块11根据采集模块10采集的被测进程的内存占用值生成该被测进程的内存占用值的变化趋势,如该被测进程为微信应用,采集的内存占用值有60个时,则在XY
坐标轴中,X值上表示采样点编号(如1、2、3、4.......59、60)或采样时间,Y值表示采样点编号或采样时间对应的内存占用值。可选的,在XY坐标中通过柱状图表示被测进程的内存占用值的变化趋势,如图5所示,X轴表示采样时间(X轴上的I表示第I秒,8表示第8秒,15表示第15秒,依次类推,204表示第204秒),Y轴表示内存占用值(单位为KB)。可选的,在XY坐标中通过折线图表示被测进程的内存占用值的变化趋势。
[0089]在被测进程只有一个时,则该生成模块11生成一个被测进程的内存占用值的变化趋势,如该被测进程为微信应用进程,则只生成该微信应用进程的内存占用值的变化趋势;在该被测进程有多个时,则该生成模块11分别生成各个被测进程的内存占用值的变化趋势,如该被测进程为微信应用进程和微博应用进程,则分别生成该微信应用进程和微博应用进程的内存占用值的变化趋势。
[0090]该生成模块11可设置在该被测进程所在的终端,也可设置在该被测进程所在的终端之外的另一个终端上,如该被测进程所在的终端为安卓手机,则该生成模块11可设置在该安卓手机上,也可设置在平板电脑上。
[0091]通常的,在被测进程发生内存泄露时,该被测进程的内存占用值会变大,即该被测进程在使用完某个分配的内存后,没有及时释放,在需要内存时,要重新分配新的内存,导致该被测进程的内存占用值变大;因此,该检测模块12可以通过判断该被测进程的内存占用值的变化趋势,确定该被测进程是否存在泄露。采用上述实施例,内存泄露检测装置包括:采集模块10,用于采集被测进程的内存采样信息,该内存采样信息包括采样时间、被测进程在该采样时间对应的内存占用值;生成模块11,用于生成该被测进程的内存占用值的变化趋势;检测模块12,用于根据该被测进程的内存占用值的变化趋势,判断该被测进程是否存在内存泄露。可根据该采集的内存采样信息判断被测进程是否发生内存泄露,可提高内存泄露检测的准确性。
[0092]进一步的,该检测模块12还用于,在该被测进程的内存占用值的变化趋势为递增趋势时,判断该被测进程存在内存泄露,否则,判断该被测进程不存在内存泄露。
[0093]该检测模块12判断该被测进程的内存占用值的变化趋势是否为递增趋势,具体的,当该被测进程的内存占用值一直处于增加,则认为该被测进程的内存占用值的变化趋势为递增趋势,当该被测进程的内存占用值一会增大、一会减小,但是增大的幅度远远大于减小的幅度,则认为被测进程的内存占用值的变化趋势为递增趋势。
[0094]当在多个预设时间采集了该被测进程的多个内存采样信息时,则该检测模块12分别分析每一个预设时间采集的该被测进程的多个内存采样信息的内存占用值对应的子变化趋势,再根据该被测进程的内存占用值在各个预设时间内的子变化趋势确定该被测进程的内存占用值的变化趋势,当该子变化趋势为递增趋势的次数大于子变化趋势为非递增趋势(递减趋势或平稳趋势)的次数时,认为该被测进程的内存占用值的变化趋势为递增趋势。如在一实施例中,该被测进程为微信应用进程,该预设时间是十分钟,对该被微信应用进程进行了五次时长为十分钟的采集,如在10点10分到10点20分采集了微信应用进程的多个内存采样信息(每次采样间隔为十秒钟,则采样得到60个内存采样信息),在10点30分到10点40分采集微信应用进程的多个内存采样信息(每次采样间隔为十秒钟,则采样得到60个内存采样信息),在10点50分到11点整采集微信应用进程的多个内存采样信息(每次采样间隔为十秒钟,则采样得到60个内存采样信息),在11点整到11点10分采集微信应用进程的多个内存采样信息(每次采样间隔为十秒钟,则采样得到60个内存采样信息),在11点10分到11点20分采集微信应用进程的多个内存采样信息(每次采样间隔为十秒钟,则采样得到60个内存采样信息),分别分析该微信应用进程的内存占用值在这5个时间段的子变化趋
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1