Mobile 在应用程序中的多个位置更新UI

Mobile 在应用程序中的多个位置更新UI,mobile,Mobile,您正在编写音乐编辑应用程序。创作完成后,应用程序将其(异步)编码为特定的音频格式(.mp3或.ogg)。编码完成后,您希望在应用程序中的多个位置更新UI。以下哪种解决此问题的方法最有意义 选择正确答案: 我们可以简单地让编码系统将UI元素列表作为参数。编码完成后,它可以告诉UI元素进行自我更新 旋转锁是一种很好的方法。UI代码可以进入旋转锁,持续检查编码是否完成。如果是,它可以更新UI并退出锁。只要旋转锁不在主线程上,它就可以正常工作 这是一个完美的工厂方法。编码器将在工厂安装。制作完成后(对音

您正在编写音乐编辑应用程序。创作完成后,应用程序将其(异步)编码为特定的音频格式(.mp3或.ogg)。编码完成后,您希望在应用程序中的多个位置更新UI。以下哪种解决此问题的方法最有意义

选择正确答案:

我们可以简单地让编码系统将UI元素列表作为参数。编码完成后,它可以告诉UI元素进行自我更新

旋转锁是一种很好的方法。UI代码可以进入旋转锁,持续检查编码是否完成。如果是,它可以更新UI并退出锁。只要旋转锁不在主线程上,它就可以正常工作

这是一个完美的工厂方法。编码器将在工厂安装。制作完成后(对音频进行编码)。装配线将把它带到可以更新UI的UI元素。在沿着链条进一步传递成分之前


这里重要的一点是,我们将UI更新与实际的编码逻辑分开。编码系统不应该知道UI。这样做的一个好方法是广播活动。编码系统可以在歌曲编码时广播事件。UI代码可以侦听此事件。并在用户界面看到时更新它。

我认为选项D是最好的选择。它永远不会让应用程序冻结。这类似于大多数GUI应用程序所基于的事件驱动编程。

这是triplebyte.com/candidates/challenges/new中提出的挑战问题之一