我在我的代碼中使用自定義數據庫類來管理我的數據庫並處理事務。每當我實例化它時,我都會將應用程序上下文傳遞給它的構造函數。閱讀Android開發人員網站上的文章,讓我懷疑自己是否正在做一些可能導致應用程序內存泄漏的內容。簡化的,我的代碼看起來是這樣的,第一關的活動:這段代碼可能會造成潛在的內存泄漏嗎?
public class MyActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.somelayout);
Database db = new Database(getApplicationContext());
}
}
而且我的數據庫類(在一個單獨的文件)看起來是這樣的:
public class Database
{
Context context;
public Database(Context context)
{
this.context = context;
}
public DatabaseHelper extends SQLiteOpenHelper
{
// Pass the context to the constructor etc etc.
}
}
的代碼可能有錯誤,我寫的快速在記事本中。無論如何,這讓我擔心,當用戶離開活動時,db對象會保持上下文,從而無法花費大量資源。如果確實如此,我該如何避免這種情況?當不再需要時,有辦法摧毀和反對嗎?
謝謝,花了我的腦海:) –