有时会出现touch wiz异常。我使用了多个服务和线程
Suspending all threads took: 56.213ms
Background partial concurrent mark sweep GC freed 46481(3MB) AllocSpace objects, 424(6MB) LOS objects, 14% free, 97MB/113MB, paused 6.164ms total 249.603ms上面是我在touchwiz异常情况下的logcat
我也得到了堆大小的消息免费垃圾collection.and。我该如何修复它?请帮帮我
发布于 2016-01-14 15:54:55
查看Services,
你应该明白的是,Services没有自己的process,它在main thread process上运行,所以如果你正在做一些繁重的task,那么在service中创建一个thread,否则你正在做繁重任务的服务将会使main thread陷入泥潭。
你可能需要考虑的其他事情。
由于您的应用程序消耗了系统分配给应用程序的更多空间,因此您的application内存不足。
将此属性android:largeHeap="true"放入manifest.xml文件的<application/>中
例如
<application
android:name="support.classes.StartUp"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true" // you are increasing the heap space for the app
android:theme="@style/AppThemeTest">如果你只是想释放一些空间,最好让Android系统来处理它,因为它知道的最好
System.gc()在执行任何消耗内存的任务之前,请调用垃圾收集器,因为这将为您释放一些空间。如果你试图在你的任务之后调用它,那么它就没有意义了。
https://stackoverflow.com/questions/34784206
复制相似问题