关于用新的fragment替换旧的fragment问题
来源:3-6 Activity 的 onActivityResult 使用起来非常麻烦,为什么不设计成回调?

android_mimi
2020-08-29
我这边有关于整个流程的几个疑惑:
1.A起B,给把非静态内部类的回调实例传给了B,因为回调实例持有A的引用,所以A会被销毁但是不会被回收,,这个是没有问题。
2.因为系统的原因A在某一个时间点被销毁了,请问系统重新创建A’(新的A界面)的时间点和B回调时间点,谁前谁后?
3.B是什么时间点将A的回调实例中的引用A,更换成新的A’的,就是时机点是什么?回调前那一刻吗?
4.另外一个疑惑的关键点,B其实不知道A还在不在,他是怎么通过反射去获取最新的A’的?因为B拿的是A的实例,是从反射class对象来获取新的实例吗?还是说其他的?
谢谢!
写回答
4回答
-
bennyhuo
2020-08-29
这个项目开源了,你可以github搜 tieguanyin 。
00 -
bennyhuo
2020-08-29
4. B不需要知道A在不在。B只需要调用setResult设置返回的结果,然后调用finish,ams会处理重新创建A的问题。
00 -
bennyhuo
2020-08-29
3. 对,回调前一刻。
00 -
bennyhuo
2020-08-29
2. A被销毁,等到返回到A的时候,系统会创建一个新的A实例,然后调用新实例的onActivityResult
00
相似问题