修改多线程安装

This commit is contained in:
squallzhjch 2023-10-27 17:24:56 +08:00
parent d6acc030f2
commit 1c5a8f542b
3 changed files with 29 additions and 27 deletions

View File

@ -216,7 +216,6 @@ class ImportOMDBHelper @AssistedInject constructor(
val next = iterator.next() val next = iterator.next()
val realm = Realm.getInstance(currentInstallTaskConfig) val realm = Realm.getInstance(currentInstallTaskConfig)
realm.executeTransaction { realm.executeTransaction {
Log.e("jingo", "安装数据 Realm数据插入")
it.copyToRealm(next) it.copyToRealm(next)
} }
realm.close() realm.close()
@ -241,19 +240,9 @@ class ImportOMDBHelper @AssistedInject constructor(
} }
Log.e("jingo", "安装结束") Log.e("jingo", "安装结束")
} catch (e: Exception) { } catch (e: Exception) {
Log.e("jingo", "安装报错 ${e.message}") Log.e("jingo", "安装报错1 ${e.message}")
return false return false
} }
// }.collect() { list ->
// if (list == null) {
// realm.close()
// } else {
// realm.executeTransaction {
// it.copyToRealm(list)
// }
// }
return true return true
} }
@ -271,7 +260,11 @@ class ImportOMDBHelper @AssistedInject constructor(
//单个表要素统计 //单个表要素统计
var elementIndex = 0 var elementIndex = 0
val currentConfig = currentEntry.value val currentConfig = currentEntry.value
// CMLog.writeLogtoFile(
// ImportOMDBHelper::class.java.name,
// "importOmdbZipFile",
// "${currentConfig.table}开始"
// )
try { try {
var realm: Realm? = null var realm: Realm? = null
if (!isEmit) { if (!isEmit) {
@ -281,16 +274,23 @@ class ImportOMDBHelper @AssistedInject constructor(
val txtFile = unZipFiles.find { val txtFile = unZipFiles.find {
it.name == currentConfig.table it.name == currentConfig.table
} }
if (txtFile != null) { if (txtFile != null && txtFile.exists()) {
val fileReader = FileReader(txtFile) val fileReader = FileReader(txtFile)
val bufferedReader = BufferedReader(fileReader) val bufferedReader = BufferedReader(fileReader)
var line: String? = bufferedReader.readLine() var line: String? = bufferedReader.readLine()
var time = System.currentTimeMillis()
var newTime = 0L
while (line != null) { while (line != null) {
if (line == null || line.trim() == "") { if (line == null || line.trim() == "") {
line = bufferedReader.readLine() line = bufferedReader.readLine()
continue continue
} }
newTime = System.currentTimeMillis()
Log.e(
"jingo",
"安装数据 ${currentConfig.table} $elementIndex ${listRenderEntity.size} ${newTime - time}"
)
time = newTime
elementIndex += 1 elementIndex += 1
val map = gson.fromJson<Map<String, Any>>( val map = gson.fromJson<Map<String, Any>>(
line, object : TypeToken<Map<String, Any>>() {}.type line, object : TypeToken<Map<String, Any>>() {}.type
@ -699,7 +699,7 @@ class ImportOMDBHelper @AssistedInject constructor(
) )
if (isEmit) { if (isEmit) {
f.send(listRenderEntity) f.send(listRenderEntity)
delay(100) delay(20)
} else { } else {
realm!!.copyToRealm(listRenderEntity) realm!!.copyToRealm(listRenderEntity)
realm!!.commitTransaction() realm!!.commitTransaction()
@ -712,13 +712,15 @@ class ImportOMDBHelper @AssistedInject constructor(
} }
line = bufferedReader.readLine() line = bufferedReader.readLine()
} }
Log.e( // CMLog.writeLogtoFile(
"jingo", // ImportOMDBHelper::class.java.name,
"安装数据 ${currentConfig.table} $elementIndex ${listRenderEntity.size}" // "importOmdbZipFile",
) // "结束===总量$elementIndex"
// )
if (isEmit) { if (isEmit) {
f.send(listRenderEntity) f.send(listRenderEntity)
delay(100) delay(20)
} else { } else {
bufferedReader.close() bufferedReader.close()
@ -733,7 +735,7 @@ class ImportOMDBHelper @AssistedInject constructor(
Log.e("jingo", "安装报错 ${currentConfig.table} ${elementIndex} ${e.message}") Log.e("jingo", "安装报错 ${currentConfig.table} ${elementIndex} ${e.message}")
throw e throw e
} }
Log.e("jingo", "安装完成 ${currentConfig.table}") Log.e("jingo", "完成 ${currentConfig.table}")
} }

View File

@ -214,7 +214,7 @@ public class CMLog {
if (!flag&&MYLOG_WRITE_TO_FILE) { if (!flag&&MYLOG_WRITE_TO_FILE) {
flag = true; flag = true;
try { try {
Log.e("jingo", "日志写入0"); Log.e("qj", "日志写入0");
// 新建或打开日志文件 // 新建或打开日志文件
Date nowtime = new Date(); Date nowtime = new Date();
String needWriteFiel = logfile.format(nowtime); String needWriteFiel = logfile.format(nowtime);
@ -232,11 +232,11 @@ public class CMLog {
new File(Constant.USER_DATA_LOG_PATH).mkdirs(); new File(Constant.USER_DATA_LOG_PATH).mkdirs();
} }
File file = new File(Constant.USER_DATA_LOG_PATH, needWriteFiel + MYLOGFILEName); File file = new File(Constant.USER_DATA_LOG_PATH, needWriteFiel + MYLOGFILEName);
Log.e("jingo", "日志写入1"); Log.e("qj", "日志写入1");
if (!file.exists()) if (!file.exists())
file.createNewFile(); file.createNewFile();
Log.e("jingo", "日志写入2"); Log.e("qj", "日志写入2");
FileWriter filerWriter = new FileWriter(file, true);//后面这个参数代表是不是要接上文件中原来的数据不进行覆盖 FileWriter filerWriter = new FileWriter(file, true);//后面这个参数代表是不是要接上文件中原来的数据不进行覆盖
BufferedWriter bufWriter = new BufferedWriter(filerWriter); BufferedWriter bufWriter = new BufferedWriter(filerWriter);
@ -244,7 +244,7 @@ public class CMLog {
bufWriter.newLine(); bufWriter.newLine();
bufWriter.close(); bufWriter.close();
filerWriter.close(); filerWriter.close();
Log.e("jingo", "日志写入结束"); Log.e("qj", "日志写入结束");
} catch (Exception e) { } catch (Exception e) {
// TODO Auto-generated catch block // TODO Auto-generated catch block
e.printStackTrace(); e.printStackTrace();

2
vtm

@ -1 +1 @@
Subproject commit 9e0cc6dcdce04d1082ed6459e8810d6329e8cfdc Subproject commit c046e788f5c739612a31c308639fca2de639669a