所以,我用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