Java 如何有效管理Android应用程序的内存(堆)
我是android新手,谁能告诉我如何编写内存管理方面的有效代码Java 如何有效管理Android应用程序的内存(堆),java,android,memory-leaks,out-of-memory,heap-memory,Java,Android,Memory Leaks,Out Of Memory,Heap Memory,我是android新手,谁能告诉我如何编写内存管理方面的有效代码 public class XXX extends Activity { EditText et; ImageView iv; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
public class XXX extends Activity {
EditText et;
ImageView iv;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
et = (EditText) findViewById(R.id.editText);
iv = (ImageView) findViewById(R.id.iv);
}
public void release(){
et=null;
Drawable drawable = ((ImageView) iv).getDrawable();
if (drawable instanceof BitmapDrawable) {
BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable;
bitmapDrawable.getBitmap().recycle();
}
iv=null;
System.gc();
}
public void onPic(View v){
// code to capture image
}
public void onSave(View v){
DBHelper dbHelper = new DBHelper(this);
SqliteDatabase db = dbHelper.getReadableDatabase();
String name = et.getText().toString();
ContentValues cv cv= new ContentValues();
// saving , calling release(); and going back to main screen
}
我能做些什么来避免内存不足、挂断电话?位图不容易释放内存,这是导致内存不足异常的主要原因。您可以调整位图的大小并加载它 这可能有助于您显示高效的位图加载: 您可以从这里阅读完整的理解文档
在“图像视图”中显示图像时,始终可以将图像大小调整为所需大小,然后进行设置以避免内存不足。