我向用戶顯示了一系列問題。在每個問題中,我將drawables設置爲6個圖像瀏覽。唯一的問題是RAM的使用量在我進入下一個屏幕時增加了大約60MB。將內存設置圖像縮小爲圖像查看
我不明白爲什麼會發生這種情況,因爲我只是用另一個替換圖片?大約5次屏幕後,由於內存分配失敗,應用程序崩潰。我怎麼會釋放這個屏幕的內存,所以它沒有建立起來。
在此先感謝。
public class Test extends ActionBarActivity {
ImageButton a1;
ImageButton a2;
ImageButton a3;
ImageButton a4;
Intent result;
String correctOrWrong = "";
int question;
int amountOfC = 0;
int numCorrect;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
getSupportActionBar().hide();
ImageView qMain = (ImageView) findViewById(R.id.qMain);
a1 = (ImageButton) findViewById(R.id.a1);
a2 = (ImageButton) findViewById(R.id.a2);
a3 = (ImageButton) findViewById(R.id.a3);
a4 = (ImageButton) findViewById(R.id.a4);
ImageView qTitle = (ImageView) findViewById(R.id.qTitle);
a1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
nextQ(1);
}
});
a2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
nextQ(2);
}
});
a3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
nextQ(3);
}
});
a4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
nextQ(4);
}
});
Intent qGet = getIntent();
question = qGet.getIntExtra("QNUMBER", 1);
numCorrect = qGet.getIntExtra("NUMCORRECT", 1);
Log.d("lel", String.valueOf(question));
if (question == 1) {
qMain.setBackgroundResource(R.drawable.q1);
a1.setBackgroundResource(R.drawable.a13);
a2.setBackgroundResource(R.drawable.a12);
a3.setBackgroundResource(R.drawable.a11);
a4.setBackgroundResource(R.drawable.ca1);
qTitle.setBackgroundResource(R.drawable.q1t);
} else if (question == 2) {
qMain.setBackgroundResource(R.drawable.q2);
a1.setBackgroundResource(R.drawable.q23);
a2.setBackgroundResource(R.drawable.q2a);
a3.setBackgroundResource(R.drawable.q22);
a4.setBackgroundResource(R.drawable.q21);
qTitle.setBackgroundResource(R.drawable.q2t);
} else if (question == 3) {
qMain.setBackgroundResource(R.drawable.q3);
a1.setBackgroundResource(R.drawable.q31);
a2.setBackgroundResource(R.drawable.q32);
a3.setBackgroundResource(R.drawable.q33);
a4.setBackgroundResource(R.drawable.q3a);
qTitle.setBackgroundResource(R.drawable.q3t);
} else if (question == 4) {
qMain.setBackgroundResource(R.drawable.q4);
a1.setBackgroundResource(R.drawable.q4a);
a2.setBackgroundResource(R.drawable.q43);
a3.setBackgroundResource(R.drawable.q42);
a4.setBackgroundResource(R.drawable.q41);
qTitle.setBackgroundResource(R.drawable.q4t);
} else if (question == 5) {
qMain.setBackgroundResource(R.drawable.q5);
a1.setBackgroundResource(R.drawable.q53);
a2.setBackgroundResource(R.drawable.q5a);
a3.setBackgroundResource(R.drawable.q52);
a4.setBackgroundResource(R.drawable.q51);
qTitle.setBackgroundResource(R.drawable.q5t);