之前一直在调试插件ap资源释放的问题:在移除插件,再次加载时因为之前的被缓存的类没有被释放而导致类转换失败(cast error)。
做动态库来清理时发现libdvm.so有多个版本,因此做起来也很吃力。
后面发现可以在启动插件apk时可以放到新建的进程中来,因为每个进程都分配有有独立的资源和main线程互不干扰,因此在移除插件最后使用一下的语句直接把进程杀掉:
android.os.Process.killProcess(android.os.Process.myPid());
后面就可以避免做一堆清理的工作。。。