在发现 Android 库和框架时,我偶然发现了Square 关于 Flow 和 Mortar 的博客文章。作者指出,开发 Flow 和 Mortar 的一些动机是因为
...屏幕外的片段在奇怪的时刻神秘地复活了
...无法直接控制动画
我很难理解作者的意思。谁能详细说明作者所说的这两个痛点?
在发现 Android 库和框架时,我偶然发现了Square 关于 Flow 和 Mortar 的博客文章。作者指出,开发 Flow 和 Mortar 的一些动机是因为
...屏幕外的片段在奇怪的时刻神秘地复活了
...无法直接控制动画
我很难理解作者的意思。谁能详细说明作者所说的这两个痛点?
我建议您阅读Square 的新博文。由于其复杂的生命周期、依赖于实现的错误、事务和创建魔法,它清楚地描述了片段的问题。关键的想法是There is no need for new APIs; everything we needed was there from the very beginning: activities, views, and layout inflaters
。
考虑到您的问题:
屏幕外的片段在奇怪的时刻神秘地复活了
引用帖子:If you ever found yourself with a stale unattached fragment recreated on rotation, you know what I'm talking about.
...when restoring the activity instance state, the fragment manager may try to recreate an instance of that fragment class using reflection.
无法直接控制动画
关于分片交易:...committing a transaction is async and posted at the end of the main thread handler queue. This can leave your app in an unknown state when receiving multiple click events or during configuration changes.