2012-07-24 65 views
3

我刚在终端中运行以下命令,而我的应用程序在连接的设备上运行。 亚行外壳dumpsys meminfo中com.mine.application 一旦我得到的表,我也得到“资产配置”,它看起来像这样的列表:解释Android内存信息

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上对字体的任何引用无效以解决此问题?谢谢。

+0

有一个建议不要创建太多的本地对象。创建一个字体对象作为一个字段可能是正确的。 – 2012-07-24 16:09:17

回答

4

有一个记录在Android的bug Typeface.createFromAsset()泄漏内存。

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

+0

3年过去了,我仍然看到这个问题,我认为它从来没有修复过,即使他们说这是固定的 – 2016-01-16 19:17:31

+0

正如刚刚加载Roboto字体时遇到的这个问题的更新一样。将它们移到别处以避免重复加载。 – sudhanshu 2016-04-28 09:10:45