我在启动画面中使用动画。当显示启动时,应用程序在后台进行一些准备工作,如登录。
动画是使用动画列表创建的:
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item android:drawable="@drawable/part_00001" android:duration="35" />
<item android:drawable="@drawable/part_00002" android:duration="35" />
<item android:drawable="@drawable/part_00003" android:duration="35" />
<item android:drawable="@drawable/part_00004" android:duration="35" />
<item android:drawable="@drawable/part_00005" android:duration="35" />
<item android:drawable="@drawable/part_00006" android:duration="35" />
<item android:drawable="@drawable/part_00007" android:duration="35" />
<item android:drawable="@drawable/part_00008" android:duration="35" />
<item android:drawable="@drawable/part_00009" android:duration="35" />
<item android:drawable="@drawable/part_00010" android:duration="35" />
.
.
.
<item android:drawable="@drawable/part_00069" android:duration="35" />
<item android:drawable="@drawable/part_00070" android:duration="35" />
</animation-list>
这是我的启动活动布局:
<RelativeLayout android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="#000">
<ImageView
android:id="@+id/logo_animation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"/>
</RelativeLayout>
然后,为了启动动画,我在onCreate方法中执行以下操作:
ImageView rocketImage;
AnimationDrawable rocketAnimation;
rocketImage = (ImageView) findViewById(R.id.logo_animation);
rocketImage.setBackgroundResource(R.drawable.movie);
rocketAnimation = (AnimationDrawable) rocketImage.getBackground();
rocketAnimation.start();
然而,在我运行应用程序3-4次后,它崩溃并说:
java.lang.OutOfMemoryError:无法分配4665612字节 分配700512个空闲字节和684KB直到OOM
我可以克服这个问题?
答案 0 :(得分:0)
您的图片放在drawable或drawable-hdpi的哪个位置?
答案 1 :(得分:0)
在清单文件中使用: -
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
</application>