Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android GC_并发暂停活动_Android_Garbage Collection - Fatal编程技术网

Android GC_并发暂停活动

Android GC_并发暂停活动,android,garbage-collection,Android,Garbage Collection,我喜欢垃圾收集器,它工作得很好。但问题是我的活动中有太多的对象,因为有太多的Hashmaps、ArrayList和其他对象。因此,当我切换到其他活动时,就会发生这种情况 12-04 01:02:17.119: D/dalvikvm(1124): GC_CONCURRENT freed 0K, 46% free 26267K/48327K, paused 2ms+5ms 12-04 01:02:17.249: D/dalvikvm(1124): GC_CONCURRENT freed 8877K,

我喜欢垃圾收集器,它工作得很好。但问题是我的活动中有太多的对象,因为有太多的Hashmaps、ArrayList和其他对象。因此,当我切换到其他活动时,就会发生这种情况

12-04 01:02:17.119: D/dalvikvm(1124): GC_CONCURRENT freed 0K, 46% free 26267K/48327K, paused 2ms+5ms
12-04 01:02:17.249: D/dalvikvm(1124): GC_CONCURRENT freed 8877K, 60% free 19436K/48327K, paused 2ms+5ms
12-04 01:02:17.359: D/dalvikvm(1124): GC_CONCURRENT freed 1593K, 59% free 19888K/48327K, paused 2ms+5ms
12-04 01:02:17.459: D/dalvikvm(1124): GC_CONCURRENT freed 1572K, 58% free 20363K/48327K, paused 2ms+5ms
12-04 01:02:17.559: D/ExchangeService(578): Received deviceId from Email app: null
12-04 01:02:17.559: D/ExchangeService(578): !!! deviceId unknown; stopping self and retrying
12-04 01:02:17.569: D/dalvikvm(1124): GC_CONCURRENT freed 1594K, 57% free 20816K/48327K, paused 2ms+6ms
12-04 01:02:17.679: D/dalvikvm(1124): GC_CONCURRENT freed 1582K, 56% free 21278K/48327K, paused 2ms+5ms
12-04 01:02:17.779: D/dalvikvm(1124): GC_CONCURRENT freed 1582K, 56% free 21741K/48327K, paused 2ms+5ms
12-04 01:02:17.889: D/dalvikvm(1124): GC_CONCURRENT freed 1582K, 55% free 22203K/48327K, paused 2ms+5ms
12-04 01:02:17.999: D/dalvikvm(1124): GC_CONCURRENT freed 1579K, 54% free 22669K/48327K, paused 2ms+6ms
12-04 01:02:18.109: D/dalvikvm(1124): GC_CONCURRENT freed 1585K, 53% free 23130K/48327K, paused 2ms+6ms
12-04 01:02:18.229: D/dalvikvm(1124): GC_CONCURRENT freed 1580K, 52% free 23592K/48327K, paused 2ms+6ms
12-04 01:02:18.339: D/dalvikvm(1124): GC_CONCURRENT freed 1584K, 51% free 24052K/48327K, paused 2ms+5ms
12-04 01:02:18.449: D/dalvikvm(1124): GC_CONCURRENT freed 1570K, 50% free 24527K/48327K, paused 2ms+5ms
12-04 01:02:18.569: D/dalvikvm(1124): GC_CONCURRENT freed 1563K, 49% free 25012K/48327K, paused 2ms+6ms
12-04 01:02:18.649: D/dalvikvm(1124): GC_FOR_ALLOC freed 623K, 48% free 25189K/48327K, paused 39ms
12-04 01:02:18.659: I/dalvikvm-heap(1124): Grow heap (frag case) to 29.909MB for 5510676-byte allocation
12-04 01:02:18.719: D/dalvikvm(1124): GC_CONCURRENT freed 0K, 37% free 30571K/48327K, paused 2ms+5ms
12-04 01:02:19.159: D/dalvikvm(1124): GC_CONCURRENT freed 1976K, 37% free 30571K/48327K, paused 2ms+5ms
12-04 01:02:19.599: D/dalvikvm(1124): GC_CONCURRENT freed 1972K, 37% free 30571K/48327K, paused 2ms+5ms
12-04 01:02:20.049: D/dalvikvm(1124): GC_CONCURRENT freed 1976K, 37% free 30571K/48327K, paused 2ms+6ms
因此,问题是切换到其他活动会暂停应用程序4到5秒,很不幸,应用程序会执行,然后其他活动开始那么我该怎么做才能不暂停应用程序中的活动
我所尝试的
1.正在异步任务中启动活动。(当GC执行上述工作时,显示progressbar) 但“进度”对话框也会暂停。
2.对处理程序和线程执行相同的操作

以上这些都没有帮助。

因此,当GC执行其工作而不暂停活动时,如何显示进度对话框?
我不想手动删除。

在开始新活动之前清除所有hashmap、列表、对象,无论什么?@Braj正如我提到的,我不想在代码中手动执行。这是最后的选择。