gpt4 book ai didi

java - 如何有效管理Android应用程序的内存(堆)

转载 作者:太空宇宙 更新时间:2023-11-04 15:23:20 26 4
gpt4 key购买 nike

我是 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);
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


}

我可以做些什么来避免内存不足、电话挂起吗?

最佳答案

Bitmap 不容易释放内存,因此大多会导致内存溢出异常。您可以调整位图大小并加载它。

这可能会帮助您显示有效的位图加载: Bitmap loading

您可以从这里查看完整的理解文档 Bitmap handling

关于java - 如何有效管理Android应用程序的内存(堆),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20143313/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com