我编写了一个 android 服务,它计算手机上安装的应用程序列表并获取应用程序名称。
代码大致如下所示:
List<PackageInfo> appListInfo = pm.getInstalledPackages(0);
for (PackageInfo p : appListInfo) { p.applicationInfo.loadLabel(pm).toString()); }
我观察到的是,loadLabel
在所有对象上调用该函数会packageInfo
大大增加内存消耗。我的服务通常需要 3-5 mb,执行此代码时会达到 16mb。
虽然,这个内存最终被释放(当 GC 运行时)并且服务回到 3-5mb,我想知道这个峰值是否可以避免并且仍然实现我的目标
我想要这个的原因是,我计划将此应用程序作为轻量级的应用程序进行营销,如果这种情况继续发生,这是不可能的。