这篇文章主要讲类加载器在android中如何动态的加载其他工程类的过程,对于类加载器的知识就跳过了。
1、首先需要创建两个工程,我创建的工程是classloader和classloaderplugin,前面的工程是主工程,后面是插件。现在classloader工程需要调用classloaderplugin插件中的类中的方法。在这里使用反射就能解决此问题。
1.1 首先看下classloader...
分类:
其他好文 时间:
2015-04-28 18:22:06
阅读次数:
107
解决方案:1.宿主 注册 act service 反射调用 插件apk2.引用公用库的方法,给插件act和service设置代理,调用代理3.android系统加载dex用dexClassLoader,android程序有pathClassLoader类继承与dexClassLoader但是不能加载...
分类:
移动开发 时间:
2015-04-09 21:37:42
阅读次数:
174
原因:
目前有两种猜测,第一种就是类加载容易,但是类卸载就不那么容易了,第二种猜测就是类缓存机制,从classloader的运行过程可以分析到有个过程是缓存常用类的,感觉这个过程没法释放,因为他会认为你以后会一直用。
测试内存泄露代码:
可以用DDMS测试下,当你调用GC的时候byte是可以回收的,但是classloader就没法回收了,也许你认为是因为调用了activity的classlo...
分类:
其他好文 时间:
2015-03-04 11:14:09
阅读次数:
162
介绍了解决Android APP方法不能超过65k的两中解决方案 插件和分包,并着重介绍了两种分包机制,基于Gradle构建Android项目进行分包和基于Ant构建Android项目进行分包,分包成功后介绍了使用DexClassLoader价值dex文件的机制...
分类:
移动开发 时间:
2014-12-08 23:04:30
阅读次数:
446
前言关于插件,已经在各大平台上出现过很多,eclipse插件、chrome插件、3dmax插件,所有这些插件大概都为了在一个主程序中实现比较通用的功能,把业务相关或者让可以让用户自定义扩展的功能不附加在主程序中,主程序可在运行时安装和卸载。在android如何实现插件也已经被广泛传播,实现的原理都是实现一套插件接口,把插件实现编成apk或者dex,然后在运行时使用DexClassLoader动态加...
分类:
移动开发 时间:
2014-11-24 13:38:16
阅读次数:
527
DexClassLoader 装载其他程序的类...
分类:
移动开发 时间:
2014-10-30 15:19:05
阅读次数:
302
============问题描述============ 开发的时候发现明明初始化了dex中一个类的static变量,在后来获取的时候一直都是空的。后来发现在loadClass的时候,findLoadedClass一直都返回空,所以怀疑问题是由于这个类被重复加载导致的,求问解决办法!!!protec...
分类:
其他好文 时间:
2014-10-18 23:59:29
阅读次数:
322
Art下DexClassLoader将dex转化为oat文件格式的过程...
分类:
其他好文 时间:
2014-09-21 13:02:20
阅读次数:
331
利用 DexClassLoader 实现 Android 插件化,从而达到动态加载
分类:
移动开发 时间:
2014-09-19 08:47:45
阅读次数:
217
介绍
做项目到一定庞大的时候就会发现方法数太多,安装包根本就装不上去了,这个也不足为奇,我们都知道当方法数目超过65536这个数目限制的时候,挡在2.x的系统上面就会出现无法安装的情况,这个时候动态加载技术就显得非的重要了,我们的项目中为了兼容2.x的手机也是用到了android的动态加载技术,这里我会详细的讲解一下怎么去用,怎么实战,我感觉,空谈理论不如动手来得实在。
实例
下面就通过一个...
分类:
移动开发 时间:
2014-08-20 19:38:12
阅读次数:
326