有时触摸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
我也正在获得无消息的垃圾收集。还有堆大小。 我如何解决它? 请帮帮我
答案 0 :(得分:2)
查看Services,
您应该了解的是Services
没有自己的process
它在main thread process
上运行,所以如果您正在做一些重task
,那么创建一个thread
内的service
,否则您执行繁重任务的服务将会导致main thread
,
您可能想要考虑的其他事项。
由于您的应用消耗了系统分配给您的应用的更多空间,因此application
的内存不足。
将此属性android:largeHeap="true"
放在<application/>
文件<{1}}文件中
例如
manifest.xml
如果你想简单地想要释放一些空间,最好让Android系统处理它,它知道最好的
<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">
在执行任何内存消耗任务之前调用垃圾收集器,因为这将为您释放一些空间。如果你试图在你的任务之后调用它,那么它没有用处