我正在尝试在我的设备上为某个人的一些动作设置动画。我创建了一个精灵表,最终为 1.23Mb。图像尺寸为 5000 x 1500 像素。工作表有 8 行,每行都是它自己的操作。(走,鞠躬,跳……)。最长的动作是 32 张图像。所以图像基本上是 32 列,8 行。所以,现在我加载它:
一旦我这样做:
private Bitmap bmp;
bmp = BitmapFactory.decodeResource(getResources(), R.drawable.myImage);
我收到一个错误:
线程 [<1> main](暂停(OutOfMemoryError 异常))
BitmapFactory.decodeResource(Resources, int, BitmapFactory$Options) 行:385 BitmapFactory.decodeResource(Resources, int) 行:404
GameView.(Context) 行:25 FightActivity。 onCreate(Bundle) 行:13 FightActivity(Activity).performCreate(Bundle) 行:4465
Instrumentation.callActivityOnCreate(Activity, Bundle) 行:1049
ActivityThread.performLaunchActivity(ActivityThread$ActivityClientRecord, Intent) 行:1920
ActivityThread.handleLaunchActivity(ActivityThread$ActivityClientRecord , Intent) 行: 1981 ActivityThread.access$600(ActivityThread, ActivityThread$ActivityClientRecord, Intent) 行: 123
ActivityThread$H.handleMessage(Message) line: 1147
ActivityThread$H(Handler).dispatchMessage(Message) line: 99 Looper.loop() line: 137 ActivityThread.main(String[]) line: 4424
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method] Method.invoke(Object, Object...) line: 511 ZygoteInit$MethodAndArgsCaller.run() line: 784
ZygoteInit。 main(String[]) 行:551 NativeStart.main(String[]) 行:不可用 [本机方法]
我是否受限于某个文件大小?看起来很奇怪?如果是这样,我唯一的选择是将精灵分割成单独的“动作”图像,而不是在一个大精灵表中的每行一系列动作图像?
希望有人可以帮助新手。