diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f3137e2..de85667 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -71,7 +71,8 @@
android:screenOrientation="landscape" />
+ android:screenOrientation="landscape"
+ android:theme="@style/ActivityOnDialogStyle" />
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f3137e2..de85667 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -71,7 +71,8 @@
android:screenOrientation="landscape" />
+ android:screenOrientation="landscape"
+ android:theme="@style/ActivityOnDialogStyle" />
diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt
index 4b55060..1a298b0 100644
--- a/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt
+++ b/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt
@@ -13,6 +13,7 @@
import android.view.WindowManager
import androidx.activity.result.contract.ActivityResultContracts
import androidx.lifecycle.ViewModelProvider
+import androidx.lifecycle.lifecycleScope
import com.amap.api.location.AMapLocation
import com.casic.br.ar.app.databinding.ActivityCheckModeBinding
import com.casic.br.ar.app.extensions.convert2YoloResult
@@ -38,6 +39,9 @@
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.launch
import org.opencv.core.Mat
import java.io.File
@@ -51,9 +55,9 @@
private val targetSet by lazy { HashSet() }
private val detectedSceneSet by lazy { HashSet() }
private val yolov8ncnn by lazy { Yolov8ncnn() }
- private val mat by lazy { Mat() }
private val weakReferenceHandler by lazy { WeakReferenceHandler(this) }
private val detectResultDialog by lazy { DetectResultDialog(this) }
+ private lateinit var mat: Mat
private lateinit var inspectionViewModel: InspectionViewModel
private lateinit var configViewModel: ConfigViewModel
private lateinit var imageFileViewModel: ImageFileViewModel
@@ -68,6 +72,8 @@
override fun initOnCreate(savedInstanceState: Bundle?) {
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
+ mat = Mat()
+
//加载算法模型。先用检测识别场景,再用分割识别目标和隐患(分割函数用了两个模型)
yolov8ncnn.loadModel(
assets, 1, useGpu = false,
@@ -152,9 +158,14 @@
ActivityResultContracts.StartActivityForResult()
) {
if (it.resultCode == Activity.RESULT_OK) {
- yolov8ncnn.closeCamera()
+ lifecycleScope.launch(Dispatchers.Main) {
+ yolov8ncnn.closeCamera()
+ mat.release()
- finish()
+ delay(1000)
+
+ finish()
+ }
}
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f3137e2..de85667 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -71,7 +71,8 @@
android:screenOrientation="landscape" />
+ android:screenOrientation="landscape"
+ android:theme="@style/ActivityOnDialogStyle" />
diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt
index 4b55060..1a298b0 100644
--- a/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt
+++ b/app/src/main/java/com/casic/br/ar/app/view/CheckModeActivity.kt
@@ -13,6 +13,7 @@
import android.view.WindowManager
import androidx.activity.result.contract.ActivityResultContracts
import androidx.lifecycle.ViewModelProvider
+import androidx.lifecycle.lifecycleScope
import com.amap.api.location.AMapLocation
import com.casic.br.ar.app.databinding.ActivityCheckModeBinding
import com.casic.br.ar.app.extensions.convert2YoloResult
@@ -38,6 +39,9 @@
import com.pengxh.kt.lite.utils.SaveKeyValues
import com.pengxh.kt.lite.utils.WeakReferenceHandler
import com.pengxh.kt.lite.widget.dialog.AlertControlDialog
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.launch
import org.opencv.core.Mat
import java.io.File
@@ -51,9 +55,9 @@
private val targetSet by lazy { HashSet() }
private val detectedSceneSet by lazy { HashSet() }
private val yolov8ncnn by lazy { Yolov8ncnn() }
- private val mat by lazy { Mat() }
private val weakReferenceHandler by lazy { WeakReferenceHandler(this) }
private val detectResultDialog by lazy { DetectResultDialog(this) }
+ private lateinit var mat: Mat
private lateinit var inspectionViewModel: InspectionViewModel
private lateinit var configViewModel: ConfigViewModel
private lateinit var imageFileViewModel: ImageFileViewModel
@@ -68,6 +72,8 @@
override fun initOnCreate(savedInstanceState: Bundle?) {
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
+ mat = Mat()
+
//加载算法模型。先用检测识别场景,再用分割识别目标和隐患(分割函数用了两个模型)
yolov8ncnn.loadModel(
assets, 1, useGpu = false,
@@ -152,9 +158,14 @@
ActivityResultContracts.StartActivityForResult()
) {
if (it.resultCode == Activity.RESULT_OK) {
- yolov8ncnn.closeCamera()
+ lifecycleScope.launch(Dispatchers.Main) {
+ yolov8ncnn.closeCamera()
+ mat.release()
- finish()
+ delay(1000)
+
+ finish()
+ }
}
}
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 530c03b..89ad4c3 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -19,4 +19,22 @@
- @anim/activity_out
+
\ No newline at end of file