我有一个欢迎布局,这是我启动应用程序时的第一个布局。我可以在其他设备和 Android Studio 的模拟器中成功运行该项目。
但是当我尝试在三星 Galaxy 系列的 Genymotion 模拟器上运行时,它显示错误
致命异常:主进程:com.example.huaweb_system.taiwanuniversityhome,PID:2325 java.lang.OutOfMemoryError:无法分配 157286412 字节分配,6136736 个空闲字节和 87MB 直到 OOM
并标记此代码
at com.example.huaweb_system.taiwanuniversityhome.StartSplash.onCreate(StartSplash.java:49)
这是我的欢迎布局类:
public class StartSplash extends AppCompatActivity {
private ImageView imageStartSplash;
private static final int GOTO_MAIN_ACTIVITY = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Fabric.with(this, new Crashlytics());
setContentView(R.layout.activity_start_splash);//show error on this line
handler.sendEmptyMessageDelayed(GOTO_MAIN_ACTIVITY, 4000);
//my image is 1280*1920.png
imageStartSplash = (ImageView) findViewById(R.id.imageStartSplash);
//fade out image
AlphaAnimation alpha = new AlphaAnimation(1.0F, 0.0F);
alpha.setDuration(4000);
alpha.setFillAfter(true);
imageStartSplash.setAnimation(alpha);
}
//delay setting
private Handler handler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case GOTO_MAIN_ACTIVITY:
Intent intent = new Intent(StartSplash.this, MainActivity.class);
startActivity(intent);
finish();
break;
default:
break;
}
}
};
}
我真的不知道为什么?我尝试删除它们,例如:
//imageStartSplash = (ImageView) findViewById(R.id.imageStartSplash);
//fade out image
//AlphaAnimation alpha = new AlphaAnimation(1.0F, 0.0F);
//alpha.setDuration(4000);
//alpha.setFillAfter(true);
//imageStartSplash.setAnimation(alpha);
它仍然显示错误...为什么会发生这种情况?
这是我的布局xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_start_splash"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.user.taiwandigestionsociety_v11.StartSplash">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
//i find that if i change the image smaller is would be fine.
app:srcCompat="@drawable/splash_screen_portrait_xxxhdpi_1280x1920"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:id="@+id/imageStartSplash" />
</RelativeLayout>