2012-07-24 55 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