活动(加载器 - 下载)+ 3 个片段(使用加载器 - 计算)

Posted

技术标签:

【中文标题】活动(加载器 - 下载)+ 3 个片段(使用加载器 - 计算)【英文标题】:Activity (Loader - downloading) + 3 Fragments (with Loaders - computation) 【发布时间】:2017-07-30 13:36:25 【问题描述】:

我必须每隔 N 秒从服务器下载“原始”数据,然后将其传送到片段(在 ViewPager 中)。每个片段都必须对数据进行自己的计算,然后填充自己的 RecyclerView。 我有一个想法如何实现:

    Activity's AsyncTaskLoader 下载数据,存储,然后 广播Intent 表示新数据已经到来。 每个fragment 都有自己的AsyncTaskLoader 和连接的broadcast receiver。 当fragment's Loader收到关于新数据的信息时,从activity获取它,计算并交付给RecyclerView

这是正确的解决方案吗?有没有更简单的方法来解决我的问题?

【问题讨论】:

【参考方案1】:

您可以使用包含可运行代码的服务每隔 N 秒从服务器下载“原始”数据。 将接收到的数据保存在 Singleton 中,您可以直接计算并交付给您的 RecyclerView 的适配器

【讨论】:

【参考方案2】:

Activity 中的 AsyncTaskLoader 是个好主意,但我会通过使用消息总线而不是广播意图来简化与片段的通信。

【讨论】:

以上是关于活动(加载器 - 下载)+ 3 个片段(使用加载器 - 计算)的主要内容,如果未能解决你的问题,请参考以下文章

加载器将结果传递给错误的片段

14.VisualVM使用详解15.VisualVM堆查看器使用的内存不足19.class文件--文件结构--魔数20.文件结构--常量池21.文件结构访问标志(2个字节)22.类加载机制概(代码片段

Honeycomb 中的片段加载微调器/对话框

Android 逆向类加载器 ClassLoader ( 类加载器源码简介 | BaseDexClassLoader | DexClassLoader | PathClassLoader )(代码片段

用于 onActivityCreated 中通用图像加载器的片段中进度条的 NullPointerException

为啥片段着色器没有附加?