pra*_*ant 0 android out-of-memory
我有一个应用程序,从服务器开始请求大约10-12KB的数据(在onResume,我有一个开始从服务器获取数据的线程),然后在视图上以表格形式绘制它.每行视图由5 TextView秒和2 Drawable秒组成.
现在,该应用程序在2.2和以前版本的操作系统上完美运行,但在2.3.2上因onCreate方法中的内存不足错误而崩溃(同时从R.main设置布局).重新创建错误的方法是继续旋转设备(大约20-25次),以便应用程序继续从纵向模式切换到横向模式.我查看了DDMS输出,我看到了一个模式.如果我在肖像和横向模式之间切换相当快...系统尝试运行GC ...显示消息,如
02-09 12:20:08.617: DEBUG/dalvikvm(109): GC_EXPLICIT freed 426K, 47% free 6201K/11655K, external 4752K/5934K, paused 122ms
Run Code Online (Sandbox Code Playgroud)
但是在崩溃之前它打印出很多GC消息
02-09 12:20:12.875: DEBUG/dalvikvm(184): GC_EXTERNAL_ALLOC freed 112K, 52% free 3022K/6215K, external 5127K/5136K, paused 110ms 02-09 12:20:12.933: DEBUG/dalvikvm(28163): GC_EXTERNAL_ALLOC freed 108K, 34% free 7894K/11847K, external 20252K/20560K, paused 155ms 02-09 12:20:13.007: INFO/dalvikvm-heap(28163): Clamp target GC heap from 32.031MB to
32.000MB 02-09 12:20:13.007: DEBUG/dalvikvm(28163): GC_FOR_MALLOC freed 2K, 34% free 7891K/11847K, external 20254K/20560K, paused 47ms 02-09 12:20:13.074: DEBUG/dalvikvm(28163): GC_EXTERNAL_ALLOC freed 0K, 34% free ....
Run Code Online (Sandbox Code Playgroud)
更多这样的台词.然后崩溃.
我无法理解为什么它会在一个操作系统中崩溃而不是其他操作系统崩溃.我的设备是Samsung Nexus S.有什么想法吗?我在堆转储上运行了MAT工具,我看到5-6个主活动类的实例都带有一些保留的内存.那个记忆不应该被垃圾收集吗?