我正在构建一个视频播放器。我有数千个视频文件存储在内部和外部存储中。所以我的视频列表视图很长,需要时间来加载。我的listview包含一个imageview和一个文本视图。我可以缓存缩略图,但不知道如何处理列表..任何想法???
答案 0 :(得分:1)
您不应同时加载所有内容。使用LRUcache存储一些缩略图,并在每次需要新图像时添加/删除一个元素。只需在加载成功之前显示进度对话框。有关LruCache的使用,请参阅this。
您可以在getView方法
中刷新图像数据答案 1 :(得分:1)
Try this这对你有帮助
答案 2 :(得分:1)
简单...... 不要让一切都充满活力,除非它是一件至关重要的事情。 使用sqllite,txt文件或xml来存储名称,路径等等的列表。
它会大大提高性能。
最佳
答案 3 :(得分:1)
使用MediaStore和ListAdapter。 MediaStore已经在管理所有媒体类型(照片,视频和音频)的缩略图和文件系统路径。
这是an article covering the basics of content providers,也就是数据库,这就是MediaStore。
这是an example of querying MediaStore for videos。
此外,this stackoverflow question似乎与您正在做的相似。
还有一件事:如果您需要通过网络(而不是本地文件系统)加载媒体,请在Google I / O 2010的演讲中使用Virgil Dobjanschi所述的ContentProvider + Service技术({{3} },video)。起初它看起来有点矫枉过正,但前期工作会在性能上反复分红,避免缓存错误并避免返工。