我有一个应用程序,它使用带有数千张图像的翻书式动画。APK 大小不是问题,因为它是一个内部唯一的应用程序,永远不会放在任何应用商店。
我遇到的问题是我的动画师是一个子类ImageView,它以每秒 15 帧的速度切换图像,每次我调用setImageURI垃圾收集然后运行。那么是否有一种不会导致垃圾收集运行的setImageURI替代方法?
编辑:更多背景信息。
我的应用程序有大约 12 个序列,其中 6 个包含 1609 个图像,并且需要在某些帧调用不同的事件。另一个需要是用户能够在任何帧上停下来调查情况并执行动作或继续执行序列。3D 引擎本来是理想的解决方案,但由于用户不需要完全的自由并且始终处于“轨道”上,因此提出了这种方法。
这是应用程序的核心,也是出现问题的地方
try {
((BitmapDrawable) getDrawable()).getBitmap().recycle();
setImageURI(imgUri);
refreshDrawableState();
} catch (Exception e) {
e.printStackTrace();
}