我创建的 SD 卡上有太多(100 个)高分辨率(1200x800)JPEGS。
我现在正在做的是将它们全部加载到 Thread 中并将它们保存在 ArrayList 中。
我以用户在 UI 上选择的特定帧速率在图像视图上逐帧播放它们。我的意图是加载所有图像,因为我想以 55 fps 左右的速度快速播放它们。如果我有 1 组 100 张图像和 RAM = 1 GB 的平板电脑,那效果很好,但我有两个图像查看器,它们都有自己的一组(100 JPEGS),内存不足。
我为我的解决方案尝试了很多方法。这是我到目前为止所尝试的。
1 ) SDCard 上 JPEGS 的 FFMPEG 视频编码(它不起作用,因为用户将寻找 100 个图像的任何位置,并且它应该立即在屏幕上查看,我正在应用图像上的亮度对比度等过滤器,因此 FFMPEG 将不起作用)
2)在播放时将单个文件加载为位图(它不起作用,因为我想实现高帧率并且文件需要时间来加载)
3)我现在使用的第三种方法现在对我很好,但是(内存不足的问题,因为我有两个图像视图及其图像集(每个 100 个图像))正在加载 ArrayList 中的所有图像并且用户可以寻求尽可能快地使用 Seekbar 到任何图像,并且可以在位图上应用各种过滤器。
我期待一些专家解决方案以特定帧速率加载快速图像。