This commit is contained in:
laoyuyu
2020-05-25 08:49:44 +08:00
parent e64f3b1240
commit 9a5e491e37
6 changed files with 46 additions and 26 deletions

View File

@@ -150,7 +150,7 @@ class DelegateUpdate extends AbsDelegate {
*/
private ContentValues createValues(DbEntity dbEntity) {
List<Field> fields = CommonUtil.getAllFields(dbEntity.getClass());
if (fields != null && fields.size() > 0) {
if (fields.size() > 0) {
ContentValues values = new ContentValues();
try {
for (Field field : fields) {

View File

@@ -148,6 +148,14 @@ final class SqlHelper extends SQLiteOpenHelper {
return db;
}
@Override public SQLiteDatabase getWritableDatabase() {
if (!mainTmpDirSet) {
createDbCacheDir();
return super.getWritableDatabase();
}
return super.getWritableDatabase();
}
/**
* 用于修复 Too many open files 的问题
* https://github.com/AriaLyy/Aria/issues/664
@@ -155,17 +163,21 @@ final class SqlHelper extends SQLiteOpenHelper {
@Override
public SQLiteDatabase getReadableDatabase() {
if (!mainTmpDirSet) {
String cacheDir = mContext.getCacheDir().getPath() + "/AriaDbCacheDir";
boolean rs = new File(cacheDir).mkdir();
ALog.d(TAG, rs + "");
super.getReadableDatabase()
.execSQL("PRAGMA temp_store_directory = '" + cacheDir + "'");
mainTmpDirSet = true;
createDbCacheDir();
return super.getReadableDatabase();
}
return super.getReadableDatabase();
}
private void createDbCacheDir() {
String cacheDir = mContext.getCacheDir().getPath() + "/AriaDbCacheDir";
boolean rs = new File(cacheDir).mkdir();
ALog.d(TAG, rs + "");
super.getReadableDatabase()
.execSQL("PRAGMA temp_store_directory = '" + cacheDir + "'");
mainTmpDirSet = true;
}
/**
* 处理数据库升级
*