2

我有android应用程序2.3.3在按下按钮=>显示对话框时使用calendarView(包含calendarView)

我的 logcat 显示:

D/dalvikvm(15292): GC_CONCURRENT freed 1988K, 10% free 20024K/22087K, paused 4ms+3ms
D/dalvikvm(15292): GC_CONCURRENT freed 1995K, 10% free 20022K/22087K, paused 4ms+3ms
D/dalvikvm(15292): GC_CONCURRENT freed 1986K, 10% free 20029K/22087K, paused 4ms+3ms
D/dalvikvm(15292): GC_CONCURRENT freed 2005K, 10% free 20023K/22087K, paused 4ms+3ms
D/dalvikvm(15292): GC_CONCURRENT freed 1995K, 10% free 20016K/22087K, paused 4ms+3ms
D/dalvikvm(15292): GC_CONCURRENT freed 1997K, 10% free 20022K/22087K, paused 3ms+4ms

它减慢了我的应用程序...我认为垃圾收集暂停了我的应用程序请帮助我快速显示它!

谢谢!

4

4 回答 4

2

垃圾收集器是一个守护线程。你既不能阻止它,也不能调用它。您可以向垃圾收集器发出请求,例如 System.gc()。

另外,垃圾收集器有助于提高性能

如果您不想让 GC 收集您的对象,那么只需保留引用。

如果您的对象被过早收集,则表明您的应用程序设计中有错误。

于 2013-03-12T08:34:30.533 回答
1

在实现应用程序(如游戏等)时,avoid garbage collection由于每次垃圾收集器执行时都会引入小暂停,

All you can do is avoid to keep on creating objects and try to reuse as much as possible the objects instances you already have.

这可以通过不同的方式完成看看这个

于 2013-03-12T08:46:34.430 回答
1

在使用 CalendarView 时,我注意到一件非常令人惊讶的事情。当我将日历高度设置为数字时,例如。android:layout_height="400dp" 垃圾收集器未运行,但是当我将其设置为 match_parent 时,每次切换方向时都会运行垃圾收集器。也许这就是答案?

于 2013-10-28T00:22:31.233 回答
0

我解决了我的问题。因为我的对话框有RelativeLayout 来包含calendarView。我将 RelativeLayout 更改为 LinearLayout => 垃圾收集未启动

谢谢!

于 2013-05-20T01:44:01.690 回答