Android Drawable 内存泄漏

2023-11-24

我使用几个大型绘图,但不知道如何管理内存泄漏。 我跟踪了应用程序的堆大小,它不会停止增长(与分配的内存一样)。

尤其是“字节数组(byte[])”类型,它只会增长且永不减少。 (在 Eclipse 上的 DDMS 堆视图中)

我的应用程序由一个使用片段的活动组成。 这些片段显示了几张大图像。 当我弹出片段时,我尝试将drawables回调设置为null,将drawables设置为null,清除易失性缓存(这可以防止我的应用程序执行太多磁盘IO),但堆永远不会减少。

事实上,每次我打电话: Drawable.createFromResourceStream(context.getResources(), value, new FileInputStream(f), f.getName(), opts); 堆长大了。我怎样才能释放内存?

Thanks !


当 Java 在内存中找到代码引用的对象时,就会发生内存泄漏,这会阻止垃圾收集器释放该内存。 Android 中的一个常见原因是引用 Activity 上下文而不是应用程序上下文。确保您的上下文引用应用程序(即使用getApplicationContext而不是使用this。检查这个video有关内存泄漏的解释并检查此question.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android Drawable 内存泄漏 的相关文章

  • 类型容器“Android 依赖项”引用不存在的库 android-support-v7-appcompat/bin/android-support-v7-appcompat.jar

    我在尝试在我的项目中使用 Action Bar Compat 支持库时遇到了某种错误 我不知道出了什么问题 因为我已按照此链接中的说明进行操作 gt http developer android com tools support libr
  • 找不到 com.google.firebase:firebase-core:9.0.0 [重复]

    这个问题在这里已经有答案了 在遵循有些不一致的指示之后here https firebase google com docs admob android quick start name your project and here http
  • Android 后退按钮无法与 Flutter 选项卡内的导航器配合使用

    我需要在每个选项卡内有一个导航器 因此当我推送新的小部件时 选项卡栏会保留在屏幕上 代码运行得很好 但是 android 后退按钮正在关闭应用程序而不是运行 Navigator pop import package flutter mate
  • 谷歌坐标认证

    当我尝试连接到 Google 坐标时 总是出现异常GoogleAuthException 我拥有 Google 地图协调中心许可证 我确实使用我的包应用程序名称和 SHA1 在 google 控制台中创建了我的客户端 ID 我将权限添加到清
  • 是否可以将数组或对象添加到 Android 上的 SharedPreferences

    我有一个ArrayList具有名称和图标指针的对象 我想将其保存在SharedPreferences 我能怎么做 注意 我不想使用数据库 无论 API 级别如何 请检查SharedPreferences 中的字符串数组和对象数组 http
  • android xamarin 中的 reCaptcha

    我想在 Xamarin android 应用程序中实现验证码 我抓住了这个在 Android 中集成 googles reCaptcha 验证 https www c sharpcorner com article how to integ
  • 找不到处理意图 com.instagram.share.ADD_TO_STORY 的活动

    在我们的 React Native 应用程序中 我们试图让用户根据视图 组件中的选择直接将特定图像共享到提要或故事 当我们尝试直接使用 com instagram share ADD TO FEED 进行共享时 它以一致的方式完美运行 但是
  • 是否必须删除 Intent extra?

    这可能是一个愚蠢的问题 但是是否有一条规则规定消费活动必须显式删除 Intent 额外内容 或者只有在回收 Intent 对象时才如此 换句话说 如果我总是通过执行以下操作来链接到下一个活动 Intent i new Intent MyCu
  • 使用 Android 发送 HTTP Post 请求

    我一直在尝试从 SO 和其他网站上的大量示例中学习 但我无法弄清楚为什么我编写的示例不起作用 我正在构建一个小型概念验证应用程序 它可以识别语音并将其 文本 作为 POST 请求发送到 node js 服务器 我已确认语音识别有效 并且服务
  • 无法访问 com.google.android.gms.internal.zzbfm 的 zzbfm 类文件未找到

    我正在将我的 Android 应用程序项目从GCM to FCM 为此 我使用 Android Studio 中的 Firebase 助手工具 并遵循 Google 开发人员指南中的说明 一切都很顺利 并将我的应用程序代码更改为FCM根据助
  • 如何使用 Cordova 获取当前安装的应用程序的版本?

    我已经找到了应用程序可用性插件 https github com ohh2ahh AppAvailability它主要检查用户是否在其设备上安装了某个应用程序 是否有可能获得应用程序的当前版本 开发者名称 重要 以及所有可能的信息 一般来说
  • 是否有 ADB 命令来检查媒体是否正在播放

    我想使用 ADB 命令检查根植于终端的外部设备中是否正在播放音频 视频 我无法找到任何 ADB 命令 如果有 我尝试过 adb shell dumpsys media player 我想要一个命令来指定视频是否正在运行 您可以使用以下命令查
  • 无法展开 RemoteViews - 错误通知

    最近 我收到越来越多的用户收到 RemoteServiceException 错误的报告 我每次给出的堆栈跟踪如下 android app RemoteServiceException Bad notification posted fro
  • JavaMail 只获取新邮件

    我想知道是否有一种方法可以在javamail中只获取新消息 例如 在初始加载时 获取收件箱中的所有消息并存储它们 然后 每当应用程序再次加载时 仅获取新消息 而不是再次重新加载它们 javamail 可以做到这一点吗 它是如何工作的 一些背
  • 如何在PreferenceActivity中添加工具栏

    我已经使用首选项创建了应用程序设置 但我注意到 我的 PreferenceActivity 中没有工具栏 如何将工具栏添加到我的 PreferenceActivity 中 My code 我的 pref xml
  • 在 SQLite 中搜索时排除 HTML 标签和一些 UNICODE 字符

    更新 4 我已经成功运行了firstchar例如 但现在的问题是使用regex 即使包含头文件 它也无法识别regex操作员 有什么线索可以解决这个问题吗 更新 2 我已经编译了sqlite3我的项目中的库 我现在正在寻找任何人帮助我为我的
  • 我的设备突然没有显示在“Android 设备选择器”中

    我正在使用我的三星 Galaxy3 设备来测试过去两个月的应用程序 它运行良好 但从今天早上开始 当我将设备连接到系统时 它突然没有显示在 Android 设备选择器 窗口中 我检查过 USB 调试模式仅在我的设备中处于选中状态 谁能猜出问
  • 如何确定对手机号码的呼叫是本地呼叫还是 STD 或 ISD

    我正在为 Android 开发某种应用程序 但不知道如何获取被叫号码是本地或 STD 的号码的数据 即手机号码检查器等应用程序从哪里获取数据 注意 我说的是手机号码 而不是固定电话 固定电话号码 你得到的数字是字符串类型 因此 您可以获取号
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • 强制 Listview 不重复使用视图(复选框)

    我做了一个定制Listview 没有覆盖getView 方法 Listview 中的每个项目都具有以下布局 联系布局 xml

随机推荐

  • RETROFIT POST Realm 对象

    我有以下 RETROFIT API POST payments Observable
  • AVI、MP4 和“原始”h264 流中的 h264。 NAL 单元格式不同(或 ffmpeg bug)

    TL DR 我想从 AVI MP4 文件读取原始 h264 流 甚至是损坏 不完整的 几乎所有有关 h264 的文档都告诉我它由 NAL 数据包组成 好的 几乎所有地方都告诉我 数据包应该以这样的签名开头00 00 01 or 00 00
  • Kafka Spring 集成:Kafka 消费者未收到标头

    我正在使用 Kafka Spring Integration 使用 kafka 发布和消费消息 我看到有效负载已正确从生产者传递到消费者 但标头信息在某处被覆盖 ServiceActivator inputChannel fromKafka
  • 无法创建 Android 模拟器:无法解析 AVD 配置文件

    无头 Linux 64 位 Jenkins 正在尝试创建 Android 模拟器 但因以下设置而失败 android Using Android SDK opt android sdk linux android Creating Andr
  • 为什么我必须先使用 strcpy(),然后再使用 strcat()?

    为什么此代码会产生运行时问题 char stuff 100 strcat stuff hi strcat stuff there 但这不是吗 char stuff 100 strcpy stuff hi strcat stuff there
  • 扫描仪仅读取第一个单词而不是行

    在我当前的程序中 一种方法要求用户输入产品的描述作为String输入 但是 当我稍后尝试打印此信息时 只有该信息的第一个单词String显示 这可能是什么原因造成的 我的方法如下 void setDescription Product aP
  • 如何覆盖嵌套的 NPM 依赖项版本?

    我想使用grunt contrib jasmineNPM 包 它有各种依赖关系 部分依赖关系图如下所示 email protected email protected email protected 不幸的是 这个版本有一个错误phanto
  • SciKit-Learn 标签编码器导致错误“参数必须是字符串或数字”

    我有点困惑 在这里创建一个 ML 模型 我正处于尝试从 大 数据帧 180 列 中获取分类特征并对其进行单热处理的步骤 以便我可以找到特征之间的相关性并选择 最佳 特征 这是我的代码 import labelencoder from skl
  • 在python中使用beautifulsoup解析html时<>更改为<和>

    使用 Beautifulsoup 处理 html 时 被转换为 lt and gt 由于标签锚全部转换 整个汤失去了结构 有什么建议吗 Setting formatter None可能有帮助 http www crummy com soft
  • 窗口加载和 WPF

    我在 Windows 2012 中有一个 WPF 项目 我需要在 Window Loaded 事件中加载一些信息 不过 我需要在视图模型中而不是在代码隐藏中执行此操作 我正在尝试使用以下代码 在我的 xaml 中
  • Visual Studio添加与dll同名的可执行文件

    在 Visual Studio 2008 中 我添加了 WinScp dll 在项目根目录中 作为引用 并且立即出现了一个黄色图标 在编译时 找不到类型或命名空间名称 WinSCP 是否缺少 using 指令或程序集引用 已解决的文件图像错
  • AVPlayerItem 失败,并显示 AVStatusFailed 和错误代码“无法解码”

    我遇到了一个奇怪的问题 希望有人能帮忙 在我的 iOS 应用程序中 我使用以下命令创建带有自定义配乐的视频MutableComposition通过组合用户照片库中的视频和应用程序包中的音频文件 然后我用一个AVPlayer and AVPl
  • 使用 NLog 记录波斯语消息

    在我的 ASP NET MVC 项目中 我在 Web config 中有以下配置
  • Android 工具栏后退箭头,带有 WhatsApp 等图标

    如何在 Android 工具栏中显示带后退箭头的图标 如 WhatsApp 我使用下面的代码在工具栏中设置后退箭头和图标 toolbar Toolbar findViewById R id toolbar setSupportActionB
  • JQuery Ajax 在 url 中添加哈希

    我这里有使用 struts2 jquery 插件的代码 h4 Choose A task h4 ul ul
  • Pandas:与之前值的差异

    给定一个看起来像这样的 Pandas 数据框 GROUP VALUE MASK 1 5 false 2 10 false 2 20 false 1 7 true 3 17 false 3 18 false 1 100 false 1 200
  • Ktor - 静态内容路由

    我很想更好地了解 Ktor 如何处理静态内容的路由 我的静态文件夹 工作目录 中有以下层次结构 static index html some files static css directory js directory some file
  • 如何创建和访问会话.net core api?

    我需要在 api 中创建并访问会话 例如 我有一个名为 Login Profile 的 api 当登录 api 被调用时 我需要创建会话 并且我需要访问配置文件 api 中的会话 当会话被清除时 登录和配置文件 api 不允许用户访问 怎么
  • 检查 Swift 字典是否不包含任何值?

    所以我正在制作一个待办事项列表应用程序 我希望用户在所有购物项目都被删除时收到通知 我有一个字典 其中包含 String store 作为键和 String items 作为值 有没有一种快速方法来检查所有项目的数组是否为空 有一个简单的方
  • Android Drawable 内存泄漏

    我使用几个大型绘图 但不知道如何管理内存泄漏 我跟踪了应用程序的堆大小 它不会停止增长 与分配的内存一样 尤其是 字节数组 byte 类型 它只会增长且永不减少 在 Eclipse 上的 DDMS 堆视图中 我的应用程序由一个使用片段的活动