当前位置: 首页 > 面试题库 >

android loadIcon生成outOfMemoryError

赖运珧
2023-03-14
问题内容

我只ListView包含所有已安装应用程序及其图标,
但是如果安装的应用程序过多,我outOfMemoryErrors在执行时就会 遇到

Drawable app_icon = applicationInfoList.get(i).loadIcon(context.getPackageManager()));

对于每一ListEntry行(此行写在我的文章中ListAdapter

没问题,到目前为止,我明白了为什么我遇到了这个错误(太多图标加载,过少的VM堆)
,但我看了一下机器人的源代码 ManageApplications* 中设置的活动
,我从来没有在任何这些运行 OOM错误 而使用设置,ManageApps
但奇怪的是他们 完全按照相同的方式 来做
*

你可以在这里在他们的源代码看到:
ManageApplications活动
,其中Drawable icon被加载
它在列表视图设置

但是我真的不明白为什么我要得到一个oom,而他们却没有?


问题答案:

我自己解决了。
我现在正在将每个图像加载到缓存中,然后再使用它。
如果缓存已满,则最早的元素将被丢弃,
因此可以缓存新的元素。此外,我将图片的大小调整为较小的图标。
做到了。



 类似资料:
  • 服务器:版本:1.12.6 API版本:1.24 Go版本:Go1.6.3 Git提交:78D1802 build:Tue Jan 31 23:47:34 2017 OS/arch:linux/amd64 Docker--Version docker Version1.12.6,构建78D1802 docker-compose-版本docker-compose版本1.5.2,构建未知

  • 我试图建立APK,以张贴我的请求在离子在游戏商店。但是当涉及到下面的命令时,我得到了错误: PS c:\projetos\xxx>jarsigner-verbose-sigalg sha1withrsa-digestalg sha1-keystore android.keystore platforms/android/app/build/outputs/apk/release/app-relea

  • 我正在尝试将一个网站从Heroku迁移到AWS,但在代码构建方面遇到了麻烦。源代码在GitHub上,我使用的是CodePipeline-CodeBuild-Elastic Beanstalk。管道运行良好,代码似乎正在向Elastic Beanstalk过渡。然而,我被困在代码构建步骤。(buildspec.yml如下所示) 日志似乎可以很好地运行命令,但是当我将构建输出到S3存储桶时,没有构建文

  • 1、创建 list 的方式 之前经过我们的学习,都知道如何创建一个 list ,可是有些情况,用赋值的形式创建一个 list 太麻烦了,特别是有规律的 list ,一个一个的写,一个一个赋值,太麻烦了。比如要生成一个有 30 个元素的 list ,里面的元素为 1 - 30 。我们可以这样写: # -*- coding: UTF-8 -*- list1=list ( range (1,31) )

  • 我正在尝试使用Eclipse为一个涉及Gazebo(一个流行的机器人模拟器)的项目进行开发。Gazebo提供了一个插件系统,允许与模拟器进行外部交互,并提供了一系列关于如何编写插件的教程。 在成功地学习了这些教程之后,我尝试将代码迁移到Eclipse,使用cmake-g“Eclipse cdt4-unix makefiles”[buildpath]生成一个Eclipse rpoject,然后将其导

  • 这篇文档阐述了如何通过使用Django视图动态输出PDF。这可以通过一个出色的、开源的Python PDF库ReportLab来实现。 动态生成PDF文件的优点是,你可以为不同目的创建自定义的PDF -- 这就是说,为不同的用户或者不同的内容。 例如,Django在kusports.com上用来为那些参加March Madness比赛的人,生成自定义的,便于打印的 NCAA 锦标赛晋级表作为PDF

  • 这篇文档阐述了如何通过使用Django视图动态输出CSV (Comma Separated Values)。 你可以使用Python CSV 库或者Django的模板系统来达到目的。 使用Python CSV库 Python自带了CSV库,csv。在Django中使用它的关键是,csv模块的CSV创建功能作用于类似于文件的对象,并且Django的HttpResponse对象就是类似于文件的对象。

  • 圣灵所结的果子,就是仁爱、喜乐、和平、忍耐、恩慈、良善、信实、温柔、节制。这样的事,没有律法禁止。凡属基督耶稣的人,是已经把肉体连肉体的邪情私欲同钉在十字架上了。我们若是靠圣灵得生,就当靠圣灵行事。不要贪图虚名,彼此惹气,互相嫉妒。(GALATIANS 5:22-26) 生成器 上节中,我们曾经做过这样的操作: >>> my_tup = (x**x for x in range(4))>>> my