所以,我用Monkey測試第一次測試了我的遊戲。我設法在沒有崩潰的情況下運行了大約3分鐘,但最終崩潰時出現了內存不足的錯誤,我試圖弄清楚如何讓它變得更好。Android中的內存管理
- 有一個正面的屏幕將開始一項活動:
我的程序結構如下。
- 次要活動是大部分行動的地方,也是我墜毀的地方。上充氣命令
- 我崩潰
- 我的遊戲勢力肖像模式,它更容易讓1點比佈局工作2 ...
- 有許多與我的次要活動相關的類變量。我會在下面列出非靜態的。我還包含了一些關於這些事情並不明顯的線索。
我想知道的是我如何改善我的程序的內存管理,使其不會崩潰。我懷疑我需要手動刪除其中的一些變量,但我不確定這樣做的正確位置是什麼。謝謝!
private Level_Score_bar score_bar; // Custom view
private number_viewer num_viewer; // Custom view
private number_pad num_pad; // Custom View
private int time,score,level,num_remaining,current_var,change_loc,time_remaining;
private ArrayList<Integer> the_key;
private ImageView Number_to_select;
private Boolean update_viewer;
Random rseed;
Vibrator bzzz;
long ctime;
private Activity self=this;
private SharedPreferences prefs;
private Editor prefs_edit;
的內存不足的發生
setContentView(R.layout.level_layout);
這種佈局是相當複雜的,包含多個圖像視圖,按鈕,文本視圖等
很高興知道你的代碼在哪裏得到了OOM。如果可以的話,發佈堆棧跟蹤和相關代碼片段。 沒有真正相關,但根據Java命名約定,變量不應該有下劃線(除非它是靜態最終的),而是應與下一個字中的第一個字母一起寫入大寫: http://docs.oracle.com .com/javase/tutorial/java/nutsandbolts/variables.html – Jave 2012-03-29 13:22:21
@Jave:包含內存不足的行。我也應該學習Java約定,我可能會研究這個...... – PearsonArtPhoto 2012-03-29 13:25:10
「R.layout.level_layout」包含什麼?大圖像或類似? – Jave 2012-03-29 13:26:10