问题关键字,Android、AsyncTask、SQLite、多线程
头号大宝贝 2013-12-31 01:26:17
启动多个AsyncTask从服务器上下载数据,用SQLite格式保存。
如何避免SQLite异常以及锁死?
LoadDatabases实现SQLiteOpenHelper抽象类。
每个对象的DAO层new LoadDatabases对象。
这样是创建多个SQLiteOpenHelper的继承类,这样就不会存在
//Cannot perform this operation because the connection pool has been closed
这种异常。
但是如果只创建一个SQLiteOpenHelper的继承类给AsyncTask。就会出现那个异常。
其次,再页面加载数据时,如果有AsyncTask正在使用这一个LoadDatabases对象,
则新开的线程不会调用LoadDatabases去获取数据。
就是两个线程一个获取数据,一个读取数据。用的都是一个LoadDatabases对象。
如果去服务器读取数据的AsyncTask没有执行完成,那么在本地查询的AsyncTask会一直等待。
请有这方面资料或者的Demo的。给个指导。谢谢。