【问题标题】:Interpreting Android Memory Info解读 Android 内存信息
【发布时间】:2012-07-24 15:56:58
【问题描述】:

当我的应用程序在连接的设备上运行时,我刚刚在终端中运行了以下命令。 adb shell dumpsys meminfo com.mine.application 拿到表格后,我还会得到一个“资产分配”列表,如下所示:

Asset Allocations
zip:/data/app/com.mine.application-1.apk:/resources.arsc: 115K
zip:/data/app/com.mine.application-1.apk:/assets/HelveticaBold.otf: 374K

zip:/data/app/com.mine.application-1.apk:/assets/HelveticaOblique.otf: 3
85K
zip:/data/app/com.mine.application-1.apk:/assets/HelveticaBold.otf: 374K

zip:/data/app/com.mine.application-1.apk:/assets/HelveticaOblique.otf: 3
85K
zip:/data/app/com.mine.application-1.apk:/assets/HelveticaBold.otf: 374K

zip:/data/app/com.mine.application-1.apk:/assets/HelveticaOblique.otf: 3
85K
zip:/data/app/com.mine.application-1.apk:/assets/HelveticaBold.otf: 374K

zip:/data/app/com.mine.application-1.apk:/assets/HelveticaOblique.otf: 3
85K
zip:/data/app/com.mine.application-1.apk:/assets/HelveticaBold.otf: 374K

zip:/data/app/com.mine.application-1.apk:/assets/HelveticaOblique.otf: 3
85K
zip:/data/app/com.mine.application-1.apk:/assets/HelveticaBold.otf: 374K

zip:/data/app/com.mine.application-1.apk:/assets/HelveticaOblique.otf: 3
85K
zip:/data/app/com.mine.application-1.apk:/assets/HelveticaBold.otf: 374K

zip:/data/app/com.mine.application-1.apk:/assets/HelveticaOblique.otf: 3
85K
zip:/data/app/com.mine.application-1.apk:/assets/HelveticaBold.otf: 374K

zip:/data/app/com.mine.application-1.apk:/assets/HelveticaOblique.otf: 3
85K
zip:/data/app/com.mine.application-1.apk:/assets/HelveticaBold.otf: 374K

zip:/data/app/com.mine.application-1.apk:/assets/HelveticaOblique.otf: 3
85K
zip:/data/app/com.mine.application-1.apk:/assets/HelveticaBold.otf: 374K

zip:/data/app/com.mine.application-1.apk:/assets/HelveticaOblique.otf: 3
85K
zip:/data/app/com.mine.application-1.apk:/assets/HelveticaBold.otf: 374K

zip:/data/app/com.mine.application-1.apk:/assets/HelveticaOblique.otf: 3
85K
zip:/data/app/com.mine.application-1.apk:/assets/HelveticaBold.otf: 374K

zip:/data/app/com.mine.application-1.apk:/assets/HelveticaOblique.otf: 3
85K
zip:/data/app/com.mine.application-1.apk:/assets/HelveticaBold.otf: 374K

zip:/data/app/com.mine.application-1.apk:/assets/HelveticaOblique.otf: 3
85K

这发生在我多次运行应用程序的某些部分之后。我是否认为这意味着 Helvetica 字体被分配了很多次?并用完所有加在一起的内存?另外,由于一旦我退出该特定活动,这些分配就不会被删除,我认为这是内存泄漏是否正确?

如果这是真的,我是否会确保在 onPause 时取消对字体的任何引用以解决此问题?谢谢。

【问题讨论】:

  • 建议不要创建过多的本地对象。一次创建一个字体对象作为字段可能是正确的。

标签: android memory adb


【解决方案1】:

有一个记录在案的 Android 错误是 Typeface.createFromAsset() 泄漏内存。

http://code.google.com/p/android/issues/detail?id=9904

【讨论】:

  • 3 年过去了,我仍然看到这个问题,我猜它从未修复,即使他们说它已修复
  • 正如刚刚加载 Roboto 字体的更新面临这个问题一样。将它们移到其他地方以避免重复加载。
猜你喜欢
  • 2015-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-28
  • 1970-01-01
  • 2016-06-19
  • 2021-09-25
  • 1970-01-01
相关资源
最近更新 更多