在我的开发人员控制台中,偶尔会看到以下崩溃中的尖峰:
java.lang.IllegalArgumentException
org.chromium.components.minidump_uploader.CrashFileManager.<init>
java.lang.RuntimeException:
at android.os.AsyncTask$3.done (AsyncTask.java:309)
at java.util.concurrent.FutureTask.finishCompletion (FutureTask.java:354)
at java.util.concurrent.FutureTask.setException (FutureTask.java:223)
at java.util.concurrent.FutureTask.run (FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$1.run (AsyncTask.java:234)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:588)
at java.lang.Thread.run (Thread.java:818)
Caused by: java.lang.IllegalArgumentException:
at org.chromium.components.minidump_uploader.CrashFileManager.<init> (CrashFileManager.java:43)
at org.chromium.android_webview.AwBrowserProcess$1.doInBackground (AwBrowserProcess.java:7)
at android.os.AsyncTask$2.call (AsyncTask.java:295)
at java.util.concurrent.FutureTask.run (FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run (AsyncTask.java:234)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:588)
at java.lang.Thread.run (Thread.java:818)这是我无法控制的吗?上面的崩溃报告中没有一个与我的项目中的任何方法或类直接相关,所以我不知道该在哪里查找。此外,我连续几个星期都没有看到这些错误,然后在几个小时内突然出现了一个峰值,然后又回到了零:

这些尖峰与我所认识的任何一个版本都不一致,比如一个新版本的版本。这对我来说意味着我无能为力,尽管这很烦人,因为它似乎是要输入到Android的统计数据。此外,这些崩溃也来自于一系列Android版本和设备。
编辑,自从我在几天前第一次提交这份报告以来,在这个类别中还没有进一步的崩溃报告:

EDIT2...现在我看到了更多错误的例子..。在这段时间里,我还没有发布任何对我的应用程序的更新,所以我没有破坏任何东西(它确实影响了我的Android统计数据):

EDIT3...啊啊!看看现在(已经有几个月没有发布新版本的应用了.所以我什么也没做):

发布于 2018-03-09 09:41:31
我找到了关于这个问题的解决方案:检查您的代码,可能是您在网络请求之前或之后擦除catch目录或文件,并执行任何文件处理,例如生成zip、解压缩或压缩,解压意味着您正在使用任何正在占用临时捕获内存的文件进程,因此,当您调用任何擦除捕获内存时,就会创建此类型的问题。
在我的申请中。我使用下面的代码来擦除捕获,所以,我得到了这个类型的问题。
private void deleteCache(Context context) {
try {
File dir = context.getCacheDir();
deleteDir(dir);
} catch (Exception ignore) {
}
}
private boolean deleteDir(File dir) {
if (dir != null && dir.isDirectory()) {
String[] children = dir.list();
for (String aChildren : children) {
boolean success = deleteDir(new File(dir, aChildren));
if (!success) {
return false;
}
}
return dir.delete();
} else
return dir != null && dir.isFile() && dir.delete();
}https://stackoverflow.com/questions/48151192
复制相似问题