android - 如果我必须执行非常繁重的 UI 操作,我应该在 Android 中做什么?

标签 android multithreading

Android 始终建议长时间操作应在后台线程上完成。但是,后台线程不允许操作 UI。

我想要完成的是根据 XML 定义构建 UI。我已经在后台线程上解析了 XML,但是在该线程上添加 View 并设置其属性实际上是不可能的。

在完成剩余的 UI 操作任务时,我可以做些什么来使应用保持响应吗?

注意:我尚未测试此操作需要多长时间。我只是假设它很多,因为要添加很多控制,并且要设置很多属性。

编辑:我已经设法在后台进行解析,所以我知道如何创建线程,在它们之间进行通信。当我被迫在 UI 线程上运行许多事情时,我很好奇是否可以做任何事情来让 UI 更快地响应。

最佳答案

我不知道你想要构建什么样的用户界面,但它确实不应该花费那么多时间。先尝试,再优化。

如果性能确实是一个问题,并且您的 UI 在任何方面都是模块化的,请尝试使用 ListViews 或 GridViews 来组合它。它们只会构建填充屏幕所需的 View ,并在您向下和向上滚动屏幕时回收它们来构建新组件。

关于android - 如果我必须执行非常繁重的 UI 操作,我应该在 Android 中做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22229356/

相关文章:

java - 如果 RadioButton 已被选中,则防止再次单击它

java - 将多行 TextView 调整为正确的大小

android - 试图将 map 放入 fragment Activity 中

c# - 在 C# 中使用数据库值填充 ConcurrentDictionary 的锁定注意事项

java - 在Java中,如何等待多个线程之一退出?

java - ThreadPoolExecutor 具有自定义行为的固定线程池

android - 使用 JavaScript 在平板设备上获取网页中心坐标

java - 具有恒定大小操作的线程安全 NavigableSet?

c# - 如何同步等待取消异步任务

java - 旋转器无法正常工作