我寫了一個android服務,它計算安裝在手機上的應用程序列表並獲取應用程序名稱。ApplicationInfo LoadLabel增加我服務的內存消耗(android)
代碼大致是這樣的:
List<PackageInfo> appListInfo = pm.getInstalledPackages(0);
for (PackageInfo p : appListInfo) { p.applicationInfo.loadLabel(pm).toString()); }
我所觀察到的是,呼籲所有packageInfo
對象時,loadLabel
功能增加了內存消耗了很多。執行此代碼時,我的服務通常需要3至5 MB,峯值爲16 MB。
雖然,此內存得到釋放,最終(GC運行時)和服務追溯到3-5MB,我想知道是否可以避免這種秒殺,而且還能達到我的目標
原因我想這是,我打算推出這個應用程序輕量級,這是不可能的,如果這繼續發生。