0

我在资源中有一系列 80 (720x1280) jpeg 图像(想设置为重复动画循环)

我正在尝试使用处理程序进行绘制,并且每 33 毫秒(30 FPS)可运行一次使用具有关联画布的 SurfaceHolder 并使用 canvas.drawBitmap

如果将位图预加载到内存中(加载一次,在绘图循环之外),canvas.drawBitmap 非常快(即:BitmapFactory.decodeResource(getResources().R.drawable.img_nnn); 但是,每个图像作为 bmp 需要 3.7 M in堆,因此只有 18 个图像可以放入堆中

有没有办法以 30FPS 的速度将 80 jpg 图像连续绘制到surfaceHolder?

在 draw() 循环中调用任何 BitmapFactory.decode 函数运行速度太慢(70 毫秒以上)。

谢谢!肯

4

1 回答 1

0

我有一系列 80 (720x1280) jpeg 图像

我不认为你可以用BitmapFactory.

我知道您至少可以选择 3 个选项:

  • 创建动画 gif
  • 创建wmv文件并播放(更合适)
  • 使用具有良好性能的 Android 的 OpneGL (GL10) ES。在这种情况下,您需要学习“如何”
于 2013-09-10T12:15:05.630 回答