采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,你在课程里面提及,初始化优化手段,还包括可以提前加载异步类,方法是重写ClassLoader并让其具备打印类加载时类名的能力,从而得到异步类有哪些,提前加载它们。 第一,是否有相关文章谈及怎么改写和适配这个ClassLoader从而达到上述目的。 第二,请问提前是提前到什么时候呢?
同学你好!
第一个问题:Hook掉系统的ClassLoader需要稍微具备点Java hook的知识,实际上就是反射重新设置值即可。这里给你找了篇文章你可以看下,有hook掉系统classloader的代码,还是比较好做的,而且和native hook不同,这个hook的兼容性问题非常少。https://www.cnblogs.com/ZhangXiangQian/p/5386029.html
第二个问题:只要Multidex完成之后就可以异步类的加载了,不能在Multidex之前做是因为Multidex之前非主Dex的class还没有被加到classloader中,去访问的话肯定是会报错:ClassNotFound!
非常感谢!
hello,老师,你好啊~ 请问你说的:Multidex完成之后,是不是指写在attachBaseContext的MultiDex.install(this);这句命令之后,可以进行异步类加载呢?
对的。
登录后可查看更多问答,登录/注册
由表及里学到国内Top团队对性能问题的体系化解决方案
1.4k 38
1.2k 12
1.4k 9
1.3k 9
1.0k 9