我只有一点ListView
包含所有已安装的应用及其图标
但如果安装的应用程序太多,我会在执行
outOfMemoryErrors
Drawable app_icon = applicationInfoList.get(i).loadIcon(context.getPackageManager()));
每个ListEntry
(此行都写在我的ListAdapter
)
ManageApplications
活动的源代码
在使用ManageApps
设置时,我从未遇到任何 oom错误
但奇怪的是他们这样做完全相同的方式
你可以在这里看到他们的来源:
the ManageApplications
activity
where the Drawable icon
gets loaded
where it is set in the list view
但我真的不明白为什么我会得到一个oom而他们不这样做?
答案 0 :(得分:1)
将图标调整为小图片,你会没事的! (之前也遇到过这个问题)
答案 1 :(得分:1)
自己解决了。
我现在正在使用它之前将每个图像加载到缓存中
如果缓存已满,则最旧的元素将被丢弃,
所以新的可以缓存。
另外我将我的图像调整为较小的图标
做到了。