gpt4 book ai didi

android - Android开发中MVP模式下如何控制多线程?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:13:31 24 4
gpt4 key购买 nike

最近,我尝试在我的 android 项目中使用 MVP 模式。

我知道我不能在 View 层做业务逻辑工作。 View 必须将所有作品传递给Presenter 层,然后等待Presenter 的结果。

View 应该在 UI 线程中执行任何操作。但是 Presenter 可能会在 Sub-Thread 中做一些事情。

如何控制 View 布局和 Preseneter 层中的多线程?

我们将不胜感激任何帮助。

最佳答案

你有两个方向需要沟通:

a) 非 UI 到 UI 线程

b) UI 线程到非 UI 线程。

对于第一种情况,目前流行的方法是使用runOnUiThread()

这是对这种技术和其他流行选项的一个很好的调查:

http://www.intertech.com/Blog/android-non-ui-to-ui-thread-communications-part-1-of-5/

至于另一个方向,除非你有缓慢的阻塞操作,否则通常没有必要。这更多是一个干净组织源代码的问题。将结果从 View 发送回 Presenter 的现代技术是在 Fragments 中使用自定义接口(interface),就像“与 Activity 通信”部分中的这样:

http://developer.android.com/guide/components/fragments.html

请注意,您不应在 UI 线程上放置长时间运行的操作,因为这会使您的应用感觉迟缓。如果它们需要超过 50 毫秒左右,请尝试在不同的线程上运行它们。

关于android - Android开发中MVP模式下如何控制多线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31331910/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com