我正在创建一个类似于YouTube和默认天气/新闻的小部件。我有一个视图鳍状肢,我使用以下方法动态添加布局(包含ImageView和TextView):
remoteViews.addView(R.id.viewFlipper, itemViews);
问题是我需要从该布局中的URL加载图像。这样做的最佳方式是什么?
我有一个Lazy List加载器但是在RemoteViews上不起作用,即使在修改之后,我认为为每个可能耗尽电池的图像更新小部件是不正确的。
提前致谢。
答案 0 :(得分:0)
如果没有代码示例,我不确定你所指的是什么,但Android Developer's网站有一些很好的信息。由于您希望模仿YouTube应用的行为,因此您需要使用AdapterViewFlipper
或StackView
等集合布局。所有这些都需要RemoteViewsService
和RemoteViewsFactory
。您最好的选择是运行后台Service
,以异步方式下载所需的图像。
我认为为每个图像更新小部件是不正确的 可能会耗尽电池太快
这完全取决于 您更新图像集的频率。如果应用程序每12小时刷新一次,那么我无法想象任何显着的电池消耗,假设没有内存泄漏/后台任务不断运行。如果您仍然担心,可以创建一个ContentProvider
来存储所有这些图像,然后只有在整个集合下载到您之后,告诉集合中的所有视图以使用新的更新内容。