com.google.android 中的 OutOfMemoryError

Posted

技术标签:

【中文标题】com.google.android 中的 OutOfMemoryError【英文标题】:OutOfMemoryError in com.google.android 【发布时间】:2016-02-28 14:58:49 【问题描述】:

任何人都可以在我的 android 应用程序中帮助我。我使用谷歌分析并有例外:

java.lang.OutOfMemoryError at com.google.android.ddga(SourceFile:51) at com.google.android.dckb(SourceFile:432) at com.google.android.dcca(SourceFile:241) at com. com.google.android.dcafa(SourceFile:108) com.google.android.dchc(SourceFile:615) com.google.android.ddsrun(SourceFile:242) 的 google.android.dcafb(SourceFile:311)在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422) 在 java.util.concurrent.FutureTask.run(FutureTask.java:237) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java :1112) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 在 java.lang.Thread.run(Thread.java:841)

我在我的安卓应用中使用谷歌分析和谷歌插页式广告和底部横幅广告版本 8.1.0。

【问题讨论】:

我建议通过 MAT 和 hprof 转储对代码进行内存分析。您可以从 Android 设备监视器生成 hprof 转储,然后您必须将它们转换为 MAT 可以理解的格式。转换工具可以在您的 Android SDK/platform-tools/hprof-conv.exe 中找到(在我的情况下,它在 User\AppData\Local\Android\SDK ... 如果您在异常之前获得了更多日志信息你会知道它在哪里爆炸,所以你可以从那个附近开始。虽然实际的问题可能完全在你的应用程序的其他地方。 【参考方案1】:

您的应用程序使用了太多内存 - 这是基本解释。这可能有很多原因,但总的来说,所有这些都只是内存泄漏或(更常见的)长寿对象。在 Android Studio 中使用内存分析器来获取有关问题开始位置的更多信息。您还应该阅读这篇 Google 文章:http://developer.android.com/tools/debugging/debugging-memory.html

【讨论】:

以上是关于com.google.android 中的 OutOfMemoryError的主要内容,如果未能解决你的问题,请参考以下文章

谷歌地图 V2 中的错误 java.lang.ClassNotFoundException: com.google.android.gms.maps.MapFragment

使用veracode时com.google.android.gms.analytics中的“熵不足(CWE ID 331)”

com.google.android.gms.location 不见了

import com.google.android.maps.geopoint 无法解析

无法解决:com.google.android.libraries.places:1.0.0:

无法获取提供商 com.google.android.gms.measurement.AppMeasurementContentProvider