拥有一个
SQLiteOpenHelper实例可以帮助解决线程问题。由于所有线程将共享common
SQLiteDatabase,因此提供了操作同步。
但是,我不会成为的子类
Application。只需拥有一个静态数据成员即可
SQLiteOpenHelper。两种方法都使您可以从任何地方访问某些内容。但是,只有的
一个 子类
Application,这使您更难使用的 其他
子类
Application(例如,GreenDroid需要一个IIRC)。使用静态数据成员可以避免这种情况。但是,
Application
Context在实例化此静态对象
SQLiteOpenHelper(构造函数参数)时,请务必使用,这样您就不会泄漏其他对象了
Context。
并且,在不处理多个线程的
SQLiteOpenHelper情况下,每个组件仅使用一个实例就可以避免任何可能的内存泄漏问题。但是,实际上,您 应该
处理多个线程(例如a
Loader),因此,此建议仅适用于琐碎的应用程序,例如某些书中的应用程序… :-)



