我正在写一个android应用程序,并且遇到问题。每隔一段时间,当切换活动时,应用程序在setContentView上崩溃。它并不总是在同一个活动上。该错误消息我得到的是如下:Android应用程序在切换活动时崩溃
产生的原因:java.lang.OutOfMemoryError:无法分配与16777216个免费字节一个字节24263724分配和22MB直到OOM
和
产生的原因:机器人.view.InflateException:二进制XML文件行#1:错误膨胀类
任何帮助将不胜感激。
编辑:每次打开第三个新活动时都会发生这种情况。
下面是我的一些代码: 活动1
public void firstroom(View view){
Intent firstroom=new Intent(this, firstroom.class);
putextras(firstroom);
startActivity(firstroom);
}
public void putextras(Intent play){
play.putExtra("doortoroom2", doortoroom2);
play.putExtra("doortoroom3", doortoroom3);
play.putExtra("endlockkey", endlockkey);
play.putExtra("endlockcombo", endlockcombo);
play.putExtra("endlockcolor", endlockcolor);
play.putExtra("havekey", havekey);
play.putExtra("havecrowbar", havecrowbar);
play.putExtra("haveflashlight", haveflashlight);
play.putExtra("keyselected", keyselected);
play.putExtra("crowbarselected", crowbarselected);
play.putExtra("flashlightselected", flashlightselected);
}
活动2
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_firstroom);
XML
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.mattdevelopment01.mateusz.escaperoom.escaperoom.firstroom"
android:background="@drawable/firstroom">
<Button
style="?android:attr/borderlessButtonStyle"
android:layout_width="150dp"
android:layout_height="200dp"
android:id="@+id/secondroom"
android:layout_marginBottom="52dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:background="@android:color/transparent"
android:onClick="blueroom" />
<Button
style="?android:attr/borderlessButtonStyle"
android:layout_width="150dp"
android:layout_height="200dp"
android:id="@+id/end"
android:background="@android:color/transparent"
android:layout_alignTop="@+id/secondroom"
android:layout_toRightOf="@+id/secondroom"
android:layout_toEndOf="@+id/secondroom"
android:onClick="freedom" />
<Button
style="?android:attr/borderlessButtonStyle"
android:layout_width="75dp"
android:layout_height="35dp"
android:id="@+id/topdrawer"
android:layout_marginLeft="73dp"
android:layout_marginStart="73dp"
android:layout_marginBottom="37dp"
android:layout_alignBottom="@+id/end"
android:layout_toRightOf="@+id/end"
android:layout_toEndOf="@+id/end"
android:background="@android:color/transparent"
android:onClick="topdrawer" />
<Button
style="?android:attr/borderlessButtonStyle"
android:layout_width="75dp"
android:layout_height="35dp"
android:id="@+id/bottomdrawer"
android:background="@android:color/transparent"
android:layout_alignBottom="@+id/end"
android:layout_alignLeft="@+id/topdrawer"
android:layout_alignStart="@+id/topdrawer"
android:onClick="bottomdrawer" />
<Button
style="?android:attr/borderlessButtonStyle"
android:layout_width="25dp"
android:layout_height="25dp"
android:id="@+id/endkey"
android:layout_marginLeft="20dp"
android:layout_marginStart="20dp"
android:background="@android:color/transparent"
android:layout_above="@+id/endcombo"
android:layout_alignLeft="@+id/end"
android:layout_alignStart="@+id/end"
android:onClick="endkey" />
<Button
style="?android:attr/borderlessButtonStyle"
android:layout_width="50dp"
android:layout_height="25dp"
android:id="@+id/endcombo"
android:background="@android:color/transparent"
android:layout_above="@+id/endcolor"
android:layout_alignLeft="@+id/endcolor"
android:layout_alignStart="@+id/endcolor"
android:onClick="endcombo" />
<Button
style="?android:attr/borderlessButtonStyle"
android:layout_width="50dp"
android:layout_height="25dp"
android:id="@+id/endcolor"
android:background="@android:color/transparent"
android:layout_alignBottom="@+id/topdrawer"
android:layout_alignLeft="@+id/endkey"
android:layout_alignStart="@+id/endkey"
android:onClick="endcolor" />
<Button
style="?android:attr/borderlessButtonStyle"
android:layout_width="50dp"
android:layout_height="45dp"
android:id="@+id/key"
android:layout_marginLeft="51dp"
android:layout_marginStart="51dp"
android:background="@drawable/key"
android:onClick="key"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<Button
style="?android:attr/borderlessButtonStyle"
android:layout_width="50dp"
android:layout_height="45dp"
android:id="@+id/flashlight"
android:background="@drawable/flashlight"
android:onClick="flashlight"
android:layout_alignParentBottom="true"
android:layout_toRightOf="@+id/crowbarget"
android:layout_toEndOf="@+id/crowbarget" />
<Button
style="?android:attr/borderlessButtonStyle"
android:layout_width="50dp"
android:layout_height="45dp"
android:id="@+id/crowbarget"
android:background="@drawable/crowbar"
android:onClick="crowbar"
android:layout_alignParentBottom="true"
android:layout_toRightOf="@+id/key"
android:layout_toEndOf="@+id/key" />
您在某种程度上要求系统分配近2 Gb的内存。也许一些动态数组太大,这是由一个错误引起的。如果你自己找不到解决方案,请显示一些你的代码。 –
我认为这是一个无限循环的情况。请显示你的代码。 – OShiffer
刚刚添加了代码 –