Meituan-Dianping / Robust

Robust is an Android HotFix solution with high compatibility and high stability. Robust can fix bugs immediately without a reboot.
Apache License 2.0
4.4k stars 806 forks source link

新增方法中如果带有子线程,则子线程的逻辑代码打不上 #368

Open lixiangkai1987 opened 4 years ago

lixiangkai1987 commented 4 years ago

新增方法中如果带有子线程,则子线程的逻辑代码打不上,只能修复线程外的逻辑代码,如: @Add private void getRemoteDataNew() { XjjLogManagerUtil.i(TAG, "getRemoteDataNew"); new Thread(new Runnable() { @Override public void run() { XjjLogManagerUtil.i(TAG, "getRemoteDataNew run"); } }).start(); }

hedex commented 4 years ago

@lixiangkai1987
临时方案:可以把子线程的类改成普通类,也可以手动将这个匿名内部类打到jar包里面 解决方案:最近会更新一下这里的逻辑

lixiangkai1987 commented 4 years ago

意思是将new Runnable() { @override public void run() { XjjLogManagerUtil.i(TAG, "getRemoteDataNew run"); } }单独作为新增类么,然后该类继承Runnable?

还有一个问题,每次打完补丁重启应用就无效了,这个是每次都要重新加载补丁包么?

hedex commented 4 years ago

嗯,单独作为新增类么,然后该类继承Runnable。 每次都要重新加载补丁包

chenyongda2018 commented 3 years ago

@hedex 请问这个问题解决了吗,目前看新版本还是不行