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

No files matched your search

@@ -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) {
@@ -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;
}
/**
* 处理数据库升级
*