自分のデータベースでカスタムデータベースクラスを使用してデータベースを管理し、トランザクションを処理しています。インスタンス化するたびに、そのコンストラクタにアプリケーションコンテキストを渡します。 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オブジェクトがコンテキストからユーザが移動したときにコンテキストを保持し、膨大な量のリソースを消費してしまうことを心配していました。これが事実である場合、どうすればこの問題を回避できますか?それがもはや必要でなくなったら、破壊して反対する方法はありますか?
ありがとう、私の心の負荷を取った:) –