对于Java开发者来说,NullPointerException(空指针异常)就像一个挥之不去的噩梦。在编写代码时,逻辑或许清晰流畅,但一旦运行项目,这个异常就可能突然冒出来,打断整个流程。排查半天,才发现是某个字段没有进行判空处理。这种“空指针PTSD”让许多Java ...
Activity 的启动是从客户端调用 Activity 的 startActivity 开始的。中间通过Instrumentation 调用execStartActivity,从 ActivityTaskManager 中获取 ActivityTaskManagerService(后续简称ATMS)。ATMS 运行在 system_server 进程中,它继承了 ...
程序启动时会加载默认的Application类,这导致我们补丁包是无法对它做修改了。如何规避?在这里我们并没有使用类似InstantRun hook Application的方式,而是通过代码框架的方式来避免,这也是为了尽量少的去反射,提升框架的兼容性。 这里我们要实现的是完全将 ...