我写了一个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,我想知道是否可以避免这种秒杀,而且还能达到我的目标
原因我想这是,我打算推出这个应用程序轻量级,这是不可能的,如果这继续发生。