一种dex文件的存储方法和装置与流程

文档序号:12664560阅读:来源:国知局

技术特征:

1.一种dex文件的存储方法,其特征在于,包括:

运行安卓应用程序,解析并加载安卓应用程序的dex文件;

检测所述dex文件中定义的类是否已经被加载到内存空间中;

当检测到所述类已经被加载到内存空间中时,删除所述dex文件中所述类的类数据信息class_data_item。

2.根据权利要求1所述的方法,其特征在于,所述运行安卓应用程序前,包括:

接收安卓应用程序启动指令,启动类检测线程;所述类检测线程用于在安卓应用程序启动过程中,检测安卓应用程序的dex文件中定义的类是否已经被加载到内存空间中。

3.根据权利要求2所述的方法,其特征在于,接收安卓应用程序启动指令前,还包括:创建所述类检测线程;

在删除所述类的类数据信息class_data_item后,关闭所述类检测线程。

4.根据权利要求1至3之一所述的方法,其特征在于,所述dex文件中定义的类包括安卓应用程序的dex文件中的定义的至少一个类。

5.根据权利要求1至3之一所述的方法,其特征在于,删除所述dex文件中所述类的类数据信息class_data_item,包括:

根据dex文件的类列表区段class_defs中所述类的类数据偏移地址class_data_off,查找到dex文件数据区段data中该类的类数据信息class_data_item并删除。

6.根据权利要求1至3之一所述的方法,其特征在于,删除所述dex文件中所述类的类数据信息class_data_item后,还包括:

将所述dex文件的类列表区段class_defs中所述类的类数据偏移地址class_data_off的值修改为0。

7.根据权利要求1至3之一所述的方法,其特征在于,所述检测所述dex文件中定义的类是否已经被加载到内存空间中,包括:

通过检测安卓操作系统中的dex文件路径列表DexPathList的dex元素数组dexElements中是否存在所述类的缓存标识,判断所述类是否已经被加载到内存空间中。

8.根据权利要求7所述的方法,其特征在于:所述类的缓存标识为所述类的变量值cookie,所述变量值cookie为加载后的类所在的内存地址。

9.一种dex文件的存储装置,其特征在于,包括:

dex文件解析加载模块,用于运行安卓应用程序,解析并加载安卓应用程序的dex文件;

类加载状态检测模块,用于检测所述dex文件中定义的类是否已经被加载到内存空间中;

类数据删除模块,用于当检测到所述类已经被加载到内存空间中时,删除所述dex文件中所述类的类数据信息class_data_item。

10.根据权利要求9所述的装置,其特征在于,该装置还包括:

类检测线程启动模块,用于在运行安卓应用程序前,接收安卓应用程序启动指令,启动类检测线程;所述类检测线程用于在安卓应用程序启动过程中,检测安卓应用程序的dex文件中定义的类是否已经被加载到内存中。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1