在andorid开发中,内存小往往是个问题。android设备的内存,分配给每一个应用的内存,至少是16M,在其中跑应用的各个组件。如果应用使用到不少的图片的话,则16M内存很快的就消耗掉了。还有另一个可能导致内存泄露的因素,就是过多的对context的长时间的引用。
在android中,context往往被用来访问或者是加载资源,它分为activity与apllication两种。比如下端代码:
@Override protected void onCreate(Bundle state) { super.onCreate(state); TextView label = new TextView(this); label.setText("Leaks are bad"); setContentView(label); }
其中textview对活动引用,从而导致垃圾回收无法回收活动,而活动又可能加载了布局,因此占内存的布局又不能回收。