gpt4 book ai didi

android - 仅在使用 Proguard 的 Release模式下内存泄漏

转载 作者:行者123 更新时间:2023-11-29 17:32:26 28 4
gpt4 key购买 nike

我有一个 Android 应用程序在 Debug模式下运行良好,但在 Release模式下存在某种内存泄漏。基本上,它真的很慢,并且在 logcat 中重复出现以下行:

dalvikvm  D  WAIT_FOR_CONCURRENT_GC blocked 91ms

如果我不混淆,不收缩,不在 proguard 中优化,那么发布就可以了。如果我执行其中之一,则会出现此错误。我使用以下几行:

-dontshrink
-dontoptimize
-dontobfuscate

我正在使用多个使用一些 native (即 JNI)代码的外部库,但我不知道哪里出了问题。

  • 我如何确定问题出在哪里?
  • 我可以告诉 proguard 只优化/缩小/混淆一个包,以便我可以尝试隔离问题吗?

最佳答案

你可以告诉 Proguard 不要干扰,我的意思是混淆,在 proguard 配置文件中使用如下指令的包和子包:

-keep class com.google.** { *; }
-keep class okio.** { *; }

您还可以告诉它使用以下方法使用特定注释来保留类注释:

-keep class com.your.annotation
-keep @com.your.annotation class * { *; }

第一个 keep 指令确保它不会删除注释本身,第二个保留任何用它注释的东西。

可以找到包含其他示例的完整 Proguard 手册 here .

关于android - 仅在使用 Proguard 的 Release模式下内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32274606/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com