Logcat 总提示D/dalvikvm : GC_FOR_ALLOC freed

2024-05-03 18:18

本文主要是介绍Logcat 总提示D/dalvikvm : GC_FOR_ALLOC freed,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

出现这总情况一般是界面不停的加载和释放图片的原因。
若不知道是哪里不停的加载和释放图片,可以用DDMS追踪抓出元凶。

例如我的程序启动后,Logcat里面不停的打印下面的信息:

12-07 08:15:18.514: D/dalvikvm(19719): GC_FOR_ALLOC freed 921K (22), 34% free 4222K/6332K, paused 20ms, total 20ms 12-07 08:15:18.532: D/skia(19719): Flag is not 10 12-07 08:15:18.813: D/dalvikvm(19719): GC_FOR_ALLOC freed 921K (23), 34% free 4222K/6332K, paused 24ms, total 24ms 12-07 08:15:18.859: D/skia(19719): Flag is not 10 12-07 08:15:19.148: D/dalvikvm(19719): GC_FOR_ALLOC freed 921K (20), 34% free 4222K/6332K, paused 27ms, total 27ms 12-07 08:15:19.169: D/skia(19719): Flag is not 10 12-07 08:15:19.450: D/dalvikvm(19719): GC_FOR_ALLOC freed 921K (22), 34% free 4222K/6332K, paused 24ms, total 24ms 12-07 08:15:19.494: D/skia(19719): Flag is not 10 12-07 08:15:19.780: D/dalvikvm(19719): GC_FOR_ALLOC freed 921K (23), 34% free 4222K/6332K, paused 24ms, total 24ms


打开 DDMS, 选择设备及当前运行的应用,然后点击右边的“Start Tracking”,几秒后点“Get Allocations”, 仔细查看发现,不停的出现一个“android.graphics.drawable”的类不停的分配内存,点击该条目后,看到一个跟自己应用相关的条目出现,双击后自动定位到对于的代码,这时才发现如下的代码:

mImgLogo.setBackgroundResource(logo_res[mLogoIndex]);

这是我开机用换图的方式实现开机动画。用一个handler+runnable和图片资源数组实现的。本以为在activity退出的时候会自动停止,现在才发现它不会停……所以在activity结束的时候,把runnable从handler移除即可。

@Override protected void onDestroy() {mHandler.removeCallbacks(mChangeLogoRunnable);super.onDestroy(); }

之后Logcat就没出现不停打印 D/dalvikvm : GC_FOR_ALLOC freed 之类的信息了。

这篇关于Logcat 总提示D/dalvikvm : GC_FOR_ALLOC freed的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/957349

相关文章

mss32.dll文件丢失怎么办? 电脑提示mss32.dll丢失的多种修复方法

《mss32.dll文件丢失怎么办?电脑提示mss32.dll丢失的多种修复方法》最近,很多电脑用户可能遇到了mss32.dll文件丢失的问题,导致一些应用程序无法正常启动,那么,如何修复这个问题呢... 在电脑常年累月的使用过程中,偶尔会遇到一些问题令人头疼。像是某个程序尝试运行时,系统突然弹出一个错误提

电脑提示找不到openal32.dll文件怎么办? openal32.dll丢失完美修复方法

《电脑提示找不到openal32.dll文件怎么办?openal32.dll丢失完美修复方法》openal32.dll是一种重要的系统文件,当它丢失时,会给我们的电脑带来很大的困扰,很多人都曾经遇到... 在使用电脑过程中,我们常常会遇到一些.dll文件丢失的问题,而openal32.dll的丢失是其中比较

电脑提示msvcp90.dll缺少怎么办? MSVCP90.dll文件丢失的修复方法

《电脑提示msvcp90.dll缺少怎么办?MSVCP90.dll文件丢失的修复方法》今天我想和大家分享的主题是关于在使用软件时遇到的一个问题——msvcp90.dll丢失,相信很多老师在使用电脑时... 在计算机使用过程中,可能会遇到 MSVCP90.dll 丢失的问题。MSVCP90.dll 是 Mic

电脑开机提示krpt.dll丢失怎么解决? krpt.dll文件缺失的多种解决办法

《电脑开机提示krpt.dll丢失怎么解决?krpt.dll文件缺失的多种解决办法》krpt.dll是Windows操作系统中的一个动态链接库文件,它对于系统的正常运行起着重要的作用,本文将详细介绍... 在使用 Windows 操作系统的过程中,用户有时会遇到各种错误提示,其中“找不到 krpt.dll”

CSS模拟 html 的 title 属性(鼠标悬浮显示提示文字效果)

《CSS模拟html的title属性(鼠标悬浮显示提示文字效果)》:本文主要介绍了如何使用CSS模拟HTML的title属性,通过鼠标悬浮显示提示文字效果,通过设置`.tipBox`和`.tipBox.tipContent`的样式,实现了提示内容的隐藏和显示,详细内容请阅读本文,希望能对你有所帮助... 效

Mybatis提示Tag name expected的问题及解决

《Mybatis提示Tagnameexpected的问题及解决》MyBatis是一个开源的Java持久层框架,用于将Java对象与数据库表进行映射,它提供了一种简单、灵活的方式来访问数据库,同时也... 目录概念说明MyBATis特点发现问题解决问题第一种方式第二种方式问题总结概念说明MyBatis(原名

Ubuntu 24.04 LTS怎么关闭 Ubuntu Pro 更新提示弹窗?

《Ubuntu24.04LTS怎么关闭UbuntuPro更新提示弹窗?》Ubuntu每次开机都会弹窗提示安全更新,设置里最多只能取消自动下载,自动更新,但无法做到直接让自动更新的弹窗不出现,... 如果你正在使用 Ubuntu 24.04 LTS,可能会注意到——在使用「软件更新器」或运行 APT 命令时,

提示:Decompiled.class file,bytecode version如何解决

《提示:Decompiled.classfile,bytecodeversion如何解决》在处理Decompiled.classfile和bytecodeversion问题时,通过修改Maven配... 目录问题原因总结问题1、提示:Decompiled .class file,China编程 bytecode

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【编程底层思考】垃圾收集机制,GC算法,垃圾收集器类型概述

Java的垃圾收集(Garbage Collection,GC)机制是Java语言的一大特色,它负责自动管理内存的回收,释放不再使用的对象所占用的内存。以下是对Java垃圾收集机制的详细介绍: 一、垃圾收集机制概述: 对象存活判断:垃圾收集器定期检查堆内存中的对象,判断哪些对象是“垃圾”,即不再被任何引用链直接或间接引用的对象。内存回收:将判断为垃圾的对象占用的内存进行回收,以便重新使用。