Horis 2 лет назад
Родитель
Сommit
eb1df7a8aa

+ 7 - 5
app/src/main/java/io/legado/app/help/CrashHandler.kt

@@ -28,9 +28,6 @@ import java.io.StringWriter
 import java.text.SimpleDateFormat
 import java.util.Date
 import java.util.concurrent.TimeUnit
-import kotlin.collections.component1
-import kotlin.collections.component2
-import kotlin.collections.set
 
 /**
  * 异常管理类
@@ -172,12 +169,17 @@ class CrashHandler(val context: Context) : Thread.UncaughtExceptionHandler {
         /**
          * 进行堆转储
          */
-        fun doHeapDump() {
+        fun doHeapDump(manually: Boolean = false) {
             val heapDir = appCtx
                 .externalCache
                 .getFile("heapDump")
             heapDir.createFolderReplace()
-            val heapFile = heapDir.getFile("heap-dump-${System.currentTimeMillis()}.hprof")
+            val fileName = if (manually) {
+                "heap-dump-manually-${System.currentTimeMillis()}.hprof"
+            } else {
+                "heap-dump-${System.currentTimeMillis()}.hprof"
+            }
+            val heapFile = heapDir.getFile(fileName)
             val heapDumpName = heapFile.absolutePath
             Debug.dumpHprofData(heapDumpName)
         }

+ 1 - 1
app/src/main/java/io/legado/app/ui/about/AboutFragment.kt

@@ -151,7 +151,7 @@ class AboutFragment : PreferenceFragmentCompat() {
             }
             appCtx.toastOnUi("开始创建堆转储")
             System.gc()
-            CrashHandler.doHeapDump()
+            CrashHandler.doHeapDump(true)
             val doc = FileDoc.fromUri(Uri.parse(backupPath), true)
             if (!copyHeapDump(doc)) {
                 appCtx.toastOnUi("未找到堆转储文件")