问题描述
接入Tinker后页面布局错乱,定位到是AutoSize失效
解决过程
1、确认初始化成功
2、找到初始化过程中的核心代码
AutoSizeConfig init(final Application application, boolean isBaseOnWidth, AutoAdaptStrategy strategy) {
*****一些参数的读取、赋值等操作 屏幕的方向、宽高等****
******下面是核心代码*****
mActivityLifecycleCallbacks = new ActivityLifecycleCallbacksImpl(new WrapperAutoAdaptStrategy(strategy == null ? new DefaultAutoAdaptStrategy() : strategy));
application.registerActivityLifecycleCallbacks(mActivityLifecycleCallbacks);
}
registerActivityLifecycleCallbacks 的介绍,有需要的可以通过下面的链接了解
https://blog.csdn.net/weixin_35691921/article/details/103156312
3、问题定位成功
mActivityLifecycleCallbacks的回调虽然注册成功了,但是没有回调(目前尚不清楚原因,有了解的同学可以在评论区提点一下,感谢啦)
解决办法
在application初始化时重新注册一个回调,就可以了。
override fun onCreate() {
super.onCreate()
val mActivityLifecycleCallbacks =
ActivityLifecycleCallbacksImpl(WrapperAutoAdaptStrategy(DefaultAutoAdaptStrategy()))
registerActivityLifecycleCallbacks(mActivityLifecycleCallbacks)
}